如何为单个博客帖子设置特定的自定义模板

时间:2015-01-08 作者:tammy

我需要设置一个自定义创建的模板,以便在显示单个博客帖子时使用。

我可以在页面属性>模板下看到如何为页面分配自定义模板,但如何告诉我的WP站点在显示单个博客帖子时使用自定义模板?

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

编辑屏幕中没有针对独立标准帖子的内置模板分配。但您可以为单个帖子分配模板。有几种选择:

Use WordPress template hierarchy system

在主题的根文件夹下,可以创建以下文件:

单人。php用于任何类型的所有单个帖子

  • 单-{post type}。php,如果此文件存在,它将仅用于{post-type} 发布而不是单个。php
  • Use template_include filter

    使用template_include 筛选您可以使用任何模板文件来处理满足您要求的单篇帖子。例如,使用模板template-for-my-post.php 对于ID为124的帖子:

    add_filter( \'template_include\', \'cyb_post_template\');
    
    function cyb_post_template( $template ) {
        if ( is_single( 124 )  ) {
            $new_template = locate_template( array( \'template-for-my-post.php\' ) );
            if ( \'\' != $new_template ) {
                return $new_template ;
            }
        }
        return $template;
    }
    

    结束

    相关推荐

    如何使用过滤器钩子POSTS_JOIN来查询POSTS_WHERE中的分类术语?

    在过去的几个小时里,我一直在尝试使用过滤器挂钩posts_where 和posts_join 要根据分类法术语搜索帖子,在本例中,分类法为“category”,术语为“politics”这是我尝试的结果,结果是一个空查询:这条线在钩子里posts_where$where .= \" OR ($wpdb->term_taxonomy.taxonomy IN (\'category\') AND $wpdb->terms.name = \'politics\')\"; 这就是我用来连接不