Hook for post and page load

时间:2012-10-16 作者:Poulomi Nag

我需要在加载特定帖子或页面时运行一个函数。是否有任何挂钩可以让我检查页面加载期间是否显示帖子?

3 个回复
最合适的回答,由SO网友:kaiser 整理而成

您可以使用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 )
    );
}
请参见:wp in codex.wordpress.orgwp in developer.wordpress.org

SO网友:Adam

使用template_redirect 它是在呈现模板之前激发的动作挂钩;

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

SO网友:darronz

我经常使用以下方法加载页面上的自定义元框(而不是自定义帖子)。

    add_action(\'admin_init\',\'how_we_do_it_meta\');

    function how_we_do_it_meta() {

        if ( $_SERVER[\'SCRIPT_NAME\'] == \'/wp-admin/post.php\' ) {

            $post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'];
            $template_file = get_post_meta($post_id,\'_wp_page_template\',TRUE);

            if ($template_file == \'page-how-we-do-it.php\') {

                add_meta_box(\'how_we_do_it_who-meta\', \'Who we work with...\', \'how_we_do_it_who\', \'page\', \'normal\', \'high\');

                add_action(\'save_post\', \'save_how_we_do_it_meta\');

            }
        }
    }

结束

相关推荐

Subpages Permalinks Issues

我的网站看起来像:Page-1 (page.php)。。。Subpage-1 (custom-collection.php; 自定义帖子类型)。。。。。。Filtering Output-Post (custom-collection-single.php)当我使用打开过滤输出帖子时/%postname% 对于permalinks,我得到404错误页。一些代码:custom-collection.php<?php $args = array( \'post_type\' => \'weine\