文案目录
操作流程
清除所有文案外边链接代码
按照搜索内容清除外边链接代码
运用之后
WordPress文案外边链接清除办法分享,有时候咱们采集或引用了其他文案,有时候会忘记去除外边链接或是采集规则由于各样未知原由未处理干净a标签,咱们就能够用倘若办法对WordPress文案的外边链接进行清除。
操作流程
首要,备份了数据库,以防止意外状况出现。
登录到你的WordPress后台。
在左侧的导航菜单中,找到并点击“外观”选项,而后选取“编辑主题”子菜单。
在编辑主题文件的页面,找到并点击“functions.php”文件。
在functions.php文件的末尾添加以下代码:
将代码中的www.linfengnet.com改为自己的域名
重视在域名中的.符号前面加一个 英文的\符号。
添加完之后等一会你再看就会发掘文案中的外边链接就被清除了。
举荐你运用WPCode 代码片段插件,你能够直接将下述代码添加为一个新的代码片段开启,关于这个插件的介绍举荐你看我之前文案:WordPress代码片段插件 WPCode。
清除所有文案外边链接代码
倘若文案数量少,能够直接运用下面这个代码,会清除所有文案的外边链接。
// 重视备份数据库哦!!!
functionremove_external_links(){
$args = array(
post_type=>post,
posts_per_page=>-1,
);
$query =new WP_Query($args);
if($query->have_posts()){
while($query->have_posts()){
$query->the_post();
$content = get_the_content();
$updated_content = preg_replace(/<a.*?href=["\](http[s]?:\/\/(?!www\.linfengnet\.com)[^"\]*)["\].*?>(.*?)<\/a>/i,$2, $content);
if($content !== $updated_content){
$post_id = get_the_ID();
$post_data = array(
ID=> $post_id,
post_content=> $updated_content,
);
wp_update_post($post_data);
}
}
}
wp_reset_postdata();
}
add_action(init,remove_external_links);
按照搜索内容清除外边链接代码
倘若在咱们文案数量非常多的状况下,运用上面清除所有文案的代码,可能会引起占用服务器性能比较多,网站卡顿等状况,咱们能够经过搜索的方式,搜索要清除的外边链接。
例如你的文案中存在www.baidu.com的外链,你就把www.baidu.com替换your_search_query,而后程序会搜索到存在www.baidu.com的文案,而后把它们存在的所有外边链接都去除。不单单是链接,你搜索其他特定重要词去清除亦是能够的。
和上面清除所有文章中的代码同样,记得把remove_external_links函数里面的正则域名替换为自己的(这般就除了自己域名以外的链接都清空)。
$args = array(
s=>your_search_query,// 替换为你的搜索重要字
post_type=>post,
posts_per_page=>-1,
fields=>ids,// 只获取文案ID
);
$query =new WP_Query($args);
$external_Links = array();
if($query->have_posts()){
$post_ids = $query->posts;
wp_reset_postdata();
// 将得到的id加入数组
$external_Links = $post_ids;
echo 文案ID已保留到数组中。;
}else{
echo 无找到匹配的文案。;
}
function remove_external_links(){
global $external_Links;
foreach($external_Links as$post_id){
$post = get_post($post_id);
$content = $post->post_content;
$updated_content = preg_replace(/<a.*?href=["\](http[s]?:\/\/(?!www\.linfengnet\.com)[^"\]*)["\].*?>(.*?)<\/a>/i,$2, $content);
if($content !== $updated_content){
$post_data = array(
ID=> $post_id,
post_content=> $updated_content,
);
wp_update_post($post_data);
}
}
}
add_action(init,remove_external_links);
运用之后
上面代码运用完之后,请将它们从你的functions.php文件中删除或是从WPCode插件中关闭就可。
仅清除失效链接
倘若是仅必须清除失效链接,那样举荐你运用之前的咱们分享的Broken Link Checker插件,详情请你看:
WordPress
文案失效
照片/链接检测插件
举荐:Broken Link Checker
https://www.linfengnet.com/wordpress-plugin/2790.html