• Wordpress 3.5.1的debug流水账


    一个合作网站是基于Wordpress做的, 不能正常使用FeedWordPress这个插件, 对方没有开发者, 只有一个类似于美工和编辑的人, 因为我在本地使用同样的版本(Wordpress 3.5.1, FeedWordPress 2013.0504)运行正常, 所以决定帮他们看看. 花了老大劲把源码和数据库弄到了本地, 今天一整天基本上都在debug了. 最终发现的问题是, FeedWordPress 里面有一个选项Optimize IN clauses, 这个开启后, 会在底层的query上增加一个filter, 就是这个filter导致的问题. 这个query,

    SELECT tr.term_taxonomy_id FROM wp_term_relationships AS tr 
    INNER JOIN wp_term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id 
    WHERE tr.object_id IN (13319) AND tt.taxonomy IN ('post_tag')

    在经过filter后, 最后的taxonomy 条件不见了, 导致每一次在执行至wp_set_post_tags()时, 将wp_set_post_categories()里面设好的category关联全删了. 相关收获: * 在wordpress中, 可以通过一个global的 $wp_filter 查看某个filter上关联了哪些函数 * 使用php扩展xdebug, 查看php代码被哪个方法和文件调用. 显示语句为

    	echo "Called @ ". xdebug_call_file().":". xdebug_call_line(). " from ". xdebug_call_function();
    
  • 相关阅读:
    node vue 项目部署问题汇总
    Java删除空字符:Java8 & Java11
    moco固定QPS接口升级补偿机制
    Selenium4 IDE特性:无代码趋势和SIDE Runner
    JsonPath工具类单元测试
    Mac上测试Internet Explorer的N种方法
    JsonPath工具类封装
    Selenium4 IDE,它终于来了
    质量保障的方法和实践
    JsonPath实践(六)
  • 原文地址:https://www.cnblogs.com/milton/p/4215102.html
Copyright © 2020-2023  润新知