我正在尝试编辑自定义帖子类型的body标记中的类,这样我就可以使用内置的WooThemes画布全幅显示页面,而不是覆盖它。
默认情况下,对于自定义帖子类型,body类似乎设置为“two-col-right”和“two-col-right-1080”,我需要它们为“one-col”和“one-col-1080”
你可能会觉得很简单,但似乎没有办法编辑一个类,只有一种过滤掉它并添加新类的方法?
它现在确实添加了这两个类,但旧类没有被过滤掉。有人能看到我的代码有什么问题吗?有没有更简单的方法?谢谢
this WordPress Answers post is very similar
目前的代码是:
//*** make Services full col ***/
add_filter( \'body_class\', \'custom_post_full_width\', \'very late please\', 2 );
function custom_post_full_width( $wp_classes, $extra_classes ) {
if ( is_archive(\'services\') OR is_singular(\'services\') ) {
// List of the only WP generated classes that are not allowed
$blacklist = array(\'two-col-right\', \'two-col-right-1080\');
// Blacklist result
$wp_classes = array_diff( $wp_classes, $blacklist );
// Extra classes to add
$extra_classes = array(\'one-col\',\'one-col-1080\');
}
// Add the extra classes back untouched
return array_merge( $wp_classes, (array) $extra_classes );
}
但不起作用:(
我正在使用函数。具有画布子主题的php
最合适的回答,由SO网友:Ravinder Kumar 整理而成
试试这个
//*** make Services full col ***/
add_filter( \'body_class\', \'custom_post_full_width\', 999, 2 );
function custom_post_full_width( $wp_classes, $class ) {
if ( is_post_type_archive(\'services\') OR is_singular(\'services\') ) {
// List of the only WP generated classes that are not allowed
$blacklist = array(\'two-col-right\', \'two-col-right-1080\');
// Blacklist result
$wp_classes = array_diff( $wp_classes, $blacklist );
// Extra classes to add
$wp_classes = array_merge( $wp_classes, array(\'one-col\',\'one-col-1080\') );
}
// Add the extra classes back untouched
return $wp_classes;
}
使用
is_post_type_archive( $post_type )