如何更改自定义帖子类型的“post_class()”?

时间:2016-02-24 作者:user122552

我试图在我的普通(博客)帖子和我称之为“位置”的自定义帖子类型上保持类的完全相同。


当我发布“普通帖子”时,我会得到以下课程:

class="post-# post type-post status-publish format-gallery hentry post_format-post-format-gallery"


但当我发布“定位贴”时,我得到:

class="post-92 posts locations type-locations status-publish format-gallery hentry"


我不知道如何改变locationposts or format-gallerypost_format-post-format-gallery.


我可以进入“content.php”并将其更改为“post\\u class(\'post\');”但这只是添加了一个类,如果我必须选择“gallery”以外的其他格式,这也没有帮助。

我觉得有一种更简单的方法可以做到这一点。。。

如果您需要更多信息,如特定的文件代码,请告诉我。我正在使用Fukasawa主题。http://www.andersnoren.se/themes/fukasawa/

1 个回复
SO网友:Doug Wollison

如本文所述:https://codex.wordpress.org/Function_Reference/post_class#Add_Classes_By_Filters

可以将挂钩添加到\'post_class\' 用于在传递的数组中添加/删除类的筛选器。您可以使用各种模板标记,如has_post_format() 和其他人一起查看您需要添加哪些类;您可以访问相关帖子的ID。

如果需要,可以删除整个数组并重新开始,但根据样式表使用的类的不同,它可能会产生不可预见的副作用。

function rewrite_post_class( $classes, $class, $post_id ) {
    // Add a class
    $classes[] = \'my-custom-class\';

    // Remove a class
    if ( $index = array_search( \'unwanted-class\', $classes ) ) {
        unset( $classes[ $index ] );
    }

    // Start over
    $classes = array( $class );
    $classes[] = get_post_type( $post_id );
}
add_filter( \'post_class\', \'rewrite_post_class\', 10, 3 );

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果