使用主题函数中的Add_Filter()从WordPress帖子中删除外部链接。php

时间:2018-01-09 作者:Ted Wilmont

我们一直在搜索如何在主题过滤器级别删除所有外部链接的插件、代码示例或示例,但似乎在网上找不到任何东西。

我们希望在实际的post数据库条目中保留外部链接,但只需使用add_filter() 在主题的函数中。php文件,以便我们可以在需要时再次添加它们。

我们还需要筛选出网站运行所在域的链接-这些内部链接不需要删除。

我们希望删除链接,但将文本保留在链接内,并在没有链接的情况下输出它。

我们已经有了一个开始,但不知道如何排除内部链接或将锚文本保留在帖子中。

非常感谢您提供的任何帮助、代码示例、建议、提示或建议,并提前向您表示感谢。

add_filter( \'the_content\', \'filter_the_content_in_the_main_loop\' );

function filter_the_content_in_the_main_loop( $content ) {

    if ( is_single() ) {
      $content = preg_replace( \'/<a href=\\"(.*?)\\">(.*?)<\\/a>/\', \'\', $content );
    }

    return $content;
}

1 个回复
SO网友:Hassan Alvi

您使用的方法正确,需要进行少量更换。。

只需更换$content = preg_replace(\'/<a href=\\"(.*?)\\">(.*?)<\\/a>/\', "", $content);具有$content = preg_replace(array(\'"<a href(.*?)>"\', \'"</a>"\'), array(\'\',\'\'), $content);

结束

相关推荐

Functions.php过滤器未应用于AJAX调用

我已经使用php向菜单中添加了一个元素(为了便于说明,简化了代码):add_filter( \'wp_nav_menu_\' . $menu_slug . \'_items\', \'add_menu_item\' , 10, 2 ); function add_menu_item ( $items ) { $item = sprintf(\'<li class=\"custom-item\">%s</li>\', menu_item_content ()