如何为Wordpress中某个类别的所有帖子添加特定类别

时间:2019-09-05 15:24:38

标签: wordpress hook

我安装了一个主题,并使用了该主题的模板。该模板不是我创建的。我没有访问模板代码的权限。我使用构建器来构建元素。我创建了一个类别的帖子网格,但是构建器并未为该类别的所有帖子添加特定的类。因此,我想添加一个钩子,该类用于站点中来自特定类别的所有帖子(仅适用于他们)。该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以像这样添加自定义类:

<?php 
$custom_classes = array(
        'longform-article',
        'featured-story',
        'interactive',
    );
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( $custom_classes ); ?>>

因此,如果要分类:

<?php 
$category = get_the_category();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( array($category) ); ?>>

答案 1 :(得分:0)

functions.php

function filter_post_class( $classes, $class, $post_id ) {
    $cat_slug = get_category_by_slug('your-category-slug'); // change your category slug here
    $cat_slug = isset($cat_slug->slug)?$cat_slug->slug:null;

    $cat_curr = get_the_category($post_id);
    $cat_curr = isset($cat_curr[0]->slug)?$cat_curr[0]->slug:null;

    if($cat_slug == $cat_curr){
        $classes[] = 'your-class-name'; // change your post class here
    }
    return $classes; 
}; 
add_filter( 'post_class', 'filter_post_class', 10, 3 );