我正在为一个插件和一些快速和肮脏的开发工作我已经添加了一个函数调用single.php调用我的插件中的函数,它存储有关当前职位的数据在数据库。Wordpress - single.php调用两次
虽然我已经注意到,它总是被调用两次:一次用于我正在请求的帖子,一次用于另一帖子(它不会显示在页面的内容中)。
有没有人知道这是为什么,如果是这样,它是否是所需的行为,如果不是,我可以修复它?
下面是一个例子类似我的single.php:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php do_action('msw_single_php', $wp_query); ?>
而且一个类似于我的插件文件:
add_action('msw_single_php', 'msw_sp', 0, 1);
function msw_sp(WP_Query $query) {
global $wpdb;
$wpdb->insert($wpdb->prefix . 'msw_career_view_debug', array(
'request_info' => json_encode($query),
));
}
我有WP_DEBUG和var_dumping $查询只显示一个,但如果我有查询转储到数据库它显示两个。我没有尝试is_single或is_main_query,但在另一个环境中进行测试表明,这在所有环境中都不是问题。 – 2012-08-06 21:34:39