如何一次从我的所有帖子中删除所有链接?

时间:2020-03-03 作者:Gideorlah

我找到了这个代码,但我不理解它。

add_filter( \'the_content\', \'misha_remove_all_a\' );
function misha_remove_all_a( $content ){
    return preg_replace(\'#<a.*?>(.*?)</a>#is\', \'\\1\', $content);
}
这是link

我的网址是this

1 个回复
SO网友:WebElaine

此代码是一个过滤器,如首字母所示add_filter 呼叫这种类型的代码可以放在自定义插件中,也可以放在子主题或自定义主题的functions.php 文件(您不想将其放置在现有functions.php 文件,因为无论何时更新主题,它都会丢失。)

它将自动在每个帖子、页面和自定义帖子类型的前端(公共)视图上运行。这是因为过滤器添加到the_content, 它从数据库中获取内容,并在前端将其呈现为HTML。

如果您想将其作为插件,只需打开一个PHP标记和一条注释,就可以让WordPress将其识别为插件:

<?php
/* Plugin Name: Strip Links from Content */
add_filter( \'the_content\', \'misha_remove_all_a\' );
function misha_remove_all_a( $content ){
    return preg_replace(\'#<a.*?>(.*?)</a>#is\', \'\\1\', $content);
}
?>
另存为strip-links.php, 将其上载到/wp-content/plugins/strip-links/, 然后您可以从wp admin激活插件。

相关推荐

按元值日期(Desc或ASC)过滤Pre_Get_Posts中的帖子

我试图通过一个元值来排序帖子,但它并没有以正确的方式工作。我将日期存储在post meta值中,如下所示01 December 2019 10:00. 现在我想对帖子进行排序desc 或asc 就像date.我尝试了以下代码:$orderby = $query->get( \'orderby\' ); $sorting = $query->get( \'order\' ); if (\'month\' == $order