大家好,我是FUNION数字营销实战派飞小优,今天跟大家讲一个经常用到的案例——自定义文章详情模板。

如果想让某个分类的文章页面样式有别于其它分类,我们可以使用自定义的模板的方法实现。例如,我们准备让名称为WordPress的分类文章使用有别于其它分类的模板样式,

首先在所用主题根目录新建一个名称 single-wordpress.php的模板文件。将以下代码片段添加到您的当前主题的 functions.php 文件:

add_action('template_include', 'load_single_template');
 function load_single_template($template) {
     $new_template = '';
    // single post template    
    if( is_single() ) {      
    global $post;
     // 'wordpress' is category slugs      
     if( has_term('wordpress', 'category', $post) ) {        
     // use template file single-wordpress.php        
     $new_template = locate_template(array('single-wordpress.php' ));
           }
          }    
           return ('' != $new_template) ? $new_template : $template;  
           }

上面的代码将指定WordPress分类的文章,使用 single-wordpress.php 模板文件。同理,你可以重复以上的步骤,让其它分类也可以使用自定义模板。

若是针对多个分类ID绑定同一个文章模板呢?也非常简单,代码如下:

add_action('template_include', 'load_single_template');

function load_single_template($template) {
    $new_template = '';
    // 定义需要使用同一模板的分类ID数组
    $target_category_ids = array(3, 7, 9); // 这里替换为实际的分类ID

    if (is_single()) {
        global $post;
        $categories = wp_get_post_terms($post->ID, 'category', array('fields' => 'ids'));

        // 检查当前文章是否属于目标分类ID中的任意一个
        $intersection = array_intersect($categories, $target_category_ids);

        if (!empty($intersection)) {
            // 使用同一个自定义模板,这里假设模板名为single_custom.php
            $new_template = locate_template(array('single_custom.php'));
        }
    }

    return (''!= $new_template)? $new_template : $template;
}

以上就是关于wordpress如何自定义文章详情页模板教程,更多内容请持续关注飞小优!

* 文章内容很有用,那就5星好评吧!😘

0 / 5 好评 0

Your page rank:

发表回复

Please Login to Comment
数字人
微信

扫码了解更多服务

qr

1对1专家沟通

小程序

funion_xcx