我发现Wordpress正在删除
从我的内容,所以从this page, 我将以下内容添加到functions.php
:
function nbsp_shortcode( $atts, $content = null ) {
$content = \' \';
return $content;
}
add_shortcode( \'nbsp\', \'nbsp_shortcode\' );
我刷新了Wordpress管理员
[nbsp]
在“我的内容代码”和“保存”中,将从我的内容代码中删除该短代码。
我搜索了stop wordpress remove shortcode from content,但没有找到这个问题的答案。
如何阻止wordpress从内容中删除短代码?
Update: 根据Pieter的建议,我发现/functions/theme-functions.php
:
function strip_shortcode($code, $content) {
global $shortcode_tags;
$stack = $shortcode_tags;
$shortcode_tags = array($code => 1);
$content = strip_shortcodes($content);
$shortcode_tags = $stack;
return $content;
}
此函数在父/子主题中仅引用一次:
if ( !function_exists( \'strip_html_from_the_content\' ) ) {
function strip_html_from_the_content($content, $tags = \'\') {
global $post;
$post_format = get_post_format( $post->ID );
$post_format = ( false === $post_format ) ? \'standard\' : $post_format;
if ( is_home() && $post_format == \'gallery\' ) {
$content = strip_shortcode(\'gallery\', $content);
}
return $content;
}
add_filter( \'the_content\', \'strip_html_from_the_content\');
}
我不知道这里需要发生什么。
strip_shortcode
只会被呼叫
if ( is_home() && $post_format == \'gallery\' )
, 但问题发生在一个简单的页面上。
我补充道:
remove_filter( \'the_content\', \'strip_html_from_the_content\' );
到子主题的
functions.php
但问题仍然存在。
Update2: 我尝试在儿童主题中添加以下内容functions.php
:
function ors_stop_strip_html_from_the_content() {
remove_filter( \'the_content\', \'strip_html_from_the_content\' );
}
add_action( \'after_setup_theme\', \'ors_stop_strip_html_from_the_content\' );
但问题仍然存在。