如何让这个快捷码对帖子内容起作用

时间:2017-09-26 作者:Godwin Alex Ogbonda

我一直在努力,但没有成功。

但如果我尝试

<?php echo do_shortcode("[mimo]"); ?> <?php echo do_shortcode("[mibaby]"); ?>
它会很好地工作。

但要将其应用于帖子内容,请使用[mimo] [mibaby]

这行不通。

下面是我正在使用的函数。。。

function wpb_custom_new_menuw() {
  remove_filter( \'the_content\', \'wpautop\' );
}
add_shortcode(\'mibaby\', \'wpb_custom_new_menuw\');



function wpb_custom_new_menu() {
  remove_filter( \'the_excerpt\', \'wpautop\' );
}
add_shortcode(\'mimo\', \'wpb_custom_new_menu\');
我正在尝试使用短代码在单个帖子上禁用/删除wpautop

1 个回复
SO网友:Milan Petrovic

这在帖子内容上下文中不起作用,因为筛选wpauto 在处理短代码之前执行。因此,您的短代码尝试禁用wpauto 筛选器,但该筛选器已在该内容上执行。

您可以这样做(在theme functions.php文件中,与摘录类似):

add_action(\'the_content\', \'wse_281097_content_remove_wpautop\', 1);
function wse_281097_content_remove_wpautop() {
    if (is_single(15)) {
        remove_filter(\'the_content\', \'wpautop\');
    }
}
这将删除wpauto 提前检查当前帖子是否ID为15,这样它将禁用wpauto 仅适用于该职位。您可以将第3行中的条件替换为您想要针对特定帖子的任何内容。

结束

相关推荐

How does a shortcode work?

我知道如何使用短代码,甚至制作它们,但我需要了解的是,短代码是作为帖子内容存储在数据库中的纯文本,所以像这样的纯文本如何转换为动态文本。我想知道的是x 在服务器将文本发送到浏览器以使其正常工作之前,是否可以处理文本?