从POST_CLASS()中删除类

时间:2018-04-27 作者:James Husband

我正在整理房间post_class 作用

我已经使用下面的过滤器删除了“hentry”类,但我还想删除“post id”、“type”和“status”类。我如何使用过滤器来执行此操作?

function lsmwp_remove_postclasses( $classes ) {
    $classes = array_diff( $classes, array( \'hentry\' ) );
    return $classes;
}
add_filter( \'post_class\',\'lsmwp_remove_postclasses\' );

2 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

一种方法是使用preg_match 并删除与给定模式匹配的类,但。。。因为我们知道$post_id, 我们只需稍加修改即可使用您的代码:

function lsmwp_remove_postclasses($classes, $class, $post_id) {
    $classes = array_diff( $classes, array(
        \'hentry\',
        \'post-\' . $post_id,
        \'type-\' . get_post_type($post_id),
        \'status-\' . get_post_status($post_id),
    ) );
    return $classes;
}
add_filter(\'post_class\', \'lsmwp_remove_postclasses\', 10, 3);

SO网友:wpdev

add_filter( \'post_class\', \'remove_hentry_function\', 20 );
function remove_hentry_function( $classes ) {
    if( ( $key = array_search( \'hentry\', $classes ) ) !== false )
        unset( $classes[$key] );
    return $classes;
}
Here is参考

It正在删除"hentry"

结束

相关推荐

在非文档挂接上调用Apply_Filters

我一直在努力学习如何编写插件,我认为最好的方法是查看其他插件。我在看这一行和第一行/** * Plugin Name: Media Library Categories * Plugin URI: http://wordpress.org/plugins/wp-media-library-categories/ * Description: Adds the ability to use categories in the media library. * Vers