我有一个插件,可以帮助我在自定义帖子类型的帖子上进行延迟加载。其想法是向template\\u redirect/init添加一个操作,并从全局$wp\\u查询中获取数据,以使jquery了解需要进行多少加载
插件php文件如下所示:
function pbd_alp_init() {
global $wp_query;
// Add code to index pages.
if( !is_singular() ) { // can i select a specific post type here?
wp_enqueue_script(
\'pbd-alp-load-posts\',
plugins_url( \'js/load-posts.js\', __FILE__ ),
array(\'jquery\'),
\'1.0\',
true
);
// What page are we on? And what is the pages limit?
$max = $wp_query->max_num_pages; // this returns 0
$paged = ( get_query_var(\'paged\') > 1 ) ? get_query_var(\'paged\') : 1;
// Add some parameters for the JS.
wp_localize_script(
\'pbd-alp-load-posts\',
\'pbd_alp\',
array(
\'startPage\' => $paged,
\'maxPages\' => $max,
\'nextLink\' => next_posts($max, false)
)
);
}
}
add_action(\'init\', \'pbd_alp_init\');
我确信当我直接调用max\\u num\\u pages函数时,它会返回一个数字-为什么我的全局$wp\\u查询看起来是空的
在文档中,它说操作应该挂钩到“template\\u redirect”,但“init”似乎更正确?两者都没有连接到wp\\u查询。。