我使用的子主题只有video post格式,但父主题定义了所有post格式:
add_theme_support( \'post-formats\', array( \'gallery\', \'link\', \'image\', \'quote\', \'video\', \'audio\', \'chat\' ) );
我试过:
remove_theme_support( \'post-formats\' );
add_theme_support( \'post-formats\', array( \'video\' ) );
但不起作用。如何在不修改父主题的情况下执行此操作?
SO网友:cbonomini
为您的after_setup_theme
高于父主题。默认优先级为10。使用twentysixteen
例如,在子主题上使用优先级11\'after_setup_theme\'
行动示例如下:
function twentysixteen_child_setup() {
add_theme_support( \'post-formats\', array(
\'video\',
) );
}
add_action( \'after_setup_theme\', \'twentysixteen_child_setup\', 11 );
SO网友:Josh Stabback
确保您不仅仅是在函数中调用这些函数。php,但使用add\\u action()在正确的时间调用它们。请尝试以下操作:
// in your Child Theme\'s functions.php
// Use the after_setup_theme hook with a priority of 11 to load after the
// parent theme, which will fire on the default priority of 10
add_action( \'after_setup_theme\', \'remove_post_formats\', 11 );
function remove_post_formats() {
remove_theme_support( \'post-formats\' );
add_theme_support( \'post-formats\', array( \'video\' ) );
}
可能发生的情况是,您试图在添加主题支持之前删除它。