我已经读过并亲自尝试过了,但我似乎不知道如何使用我的子主题重写父主题函数。
我需要知道我做错了什么(我确信有几件事是错的)。
以下是父主题中的函数:
function html5_insert_image($html, $id, $caption, $title, $align, $url, $size, $alt) {
$url = wp_get_attachment_url($id);
$src = wp_get_attachment_image_src( $id, $size, false );
$html5 = "<figure class=\'align$align\'><a href=\'$url\'>";
$html5 .= "<img src=\'$src[0]\' alt=\'$alt\' />";
if ($caption) {
$html5 .= "<figcaption>$caption</figcaption>";
}
$html5 .= "</a></figure>";
return $html5;
}
add_filter( \'image_send_to_editor\', \'html5_insert_image\', 10, 9 );
以下是子主题中的函数:
function remove_html5_insert_image(){
remove_filter(\'init\',\'html5_insert_image\',1);
}
add_action(\'after_setup_theme\',\'remove_html5_insert_image\');
最合适的回答,由SO网友:cybmeta 整理而成
首先,你感到困惑。删除过滤器的“重写函数”不同。假设您想删除过滤器,我认为您的代码应该是:
function remove_html5_insert_image(){
remove_filter(\'image_send_to_editor\',\'html5_insert_image\', 10);
}
add_action(\'after_setup_theme\',\'remove_html5_insert_image\');
请注意,中的filter标记和priority参数
remove_filter
必须匹配筛选器标记和要删除的筛选器中定义的优先级。
无论如何,由于WP 3.9,因此不需要该函数,请使用该函数使Wordpress在标题输出中使用figure和figcaption:
add_action( \'after_setup_theme\', \'cyb_theme_setup\' );
function tbn_theme_setup() {
// See more in http://codex.wordpress.org/Function_Reference/add_theme_support#HTML5
add_theme_support( \'html5\', array( \'caption\' ) );
}