问题描述

当一个特定的帖子或页面加载时,我需要运行一个函数。是否有任何钩子让我检查在页面加载期间是否显示一条信息?

最佳解决方案

您可以使用 wp 钩子并检查 global $wp_query 对象或任何条件。

add_action( 'wp', 'wpse69369_special_thingy' );
function wpse69369_special_thingy()
{
    if (
        'special_cpt' === get_post_type()
        AND is_singular()
    )
        return print "Yo World!";

    return printf(
        '<p>Nothing to see here! Check the object!<br /></p><pre>%s</pre>',
        var_export( $GLOBALS['wp_query'], true )
    );
}

次佳解决方案

使用 template_redirect,它是渲染模板之前触发的动作钩子;

add_action('template_redirect', 'hooker');
function hooker(){
    //I load just before selecting and rendering the template to screen
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。