加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > wordpress > 正文

WordPress修改所有文章的链接

发布时间:2020-12-14 14:21:29 所属栏目:wordpress 来源:网络整理
导读:由站长 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。 有某个客户需求,要把 wordpress 网站所有文章的链接地址全部换成一个指定的外部链接,还要自己可以在后台随时更换链接地址。当然,我不知道客户想要干

以下代码由PHP站长网 52php.cn收集自互联网现在PHP站长网小编把它分享给大家,仅供参考

有某个客户需求,要把 wordpress 网站所有文章的链接地址全部换成一个指定的外部链接,还要自己可以在后台随时更换链接地址。当然,我不知道客户想要干什么,总之客户的需求去实现就对了。收到客户的需求后,马上有一个思路:

1、后台添加选项用于输入外部链接地址。

2、修改客户使用的主题文件,读取后台输入的链接地址,替换掉所有 A 标签中原来的链接地址。

看起来应该是解决了客户需求了,不过细想一下,还是有存在一些问题的:

1、客户在后台升级了主题怎么办?每升级一次再修改一次代码?

2、客户在其他地方调用了文章怎么办?比如用了小工具什么的在边栏或者底部来显示文章。

于是就产生了第二个思路:

1、同上,后台加个选项用来输入外部链接地址。

2、使用 WordPress 的 add_filter() 过滤器函数,替换文章的链接地址。

具体代码如下:

1、添加一个设置选项用来输入外部链接的地址

/*=== 添加设置选项 ===*/

if ( ! function_exists( 'tm_add_options' ) ) :

?

function tm_add_options() {

?

register_setting( 'general','tm_article_link' );

add_settings_field( 'tm_article_link','<label for="tm_article_link">文章链接</label>','tm_article_link','general' );

?

}

?

endif;

?

if ( ! function_exists( 'tm_article_link' ) ) :

?

function tm_article_link() {

?

$value = get_option( 'tm_article_link','' );

_e( '<input type="text" name="tm_article_link" id="tm_article_link" class="large-text" value="' . $value . '">' );

echo '<p class="description">文章外部链接地址</p>';

?

}

?

endif;

?

add_filter( 'admin_init','tm_add_options' );

2、添加过滤器,替换文章链接

/*=== 替换文章链接 ===*/

if ( ! function_exists( 'timoo_replace_article_link' ) ) :

?

function timoo_replace_article_link( $url,$post,$leavename=false ){

?

$url = get_option( 'tm_article_link','' );

return $url;

?

}

?

endif;

?

add_filter( 'post_link','timoo_replace_article_link',10,3 );

完美!就算以后客户不需要这个功能了,只要注释掉 add_filter() 这个函数,就恢复原来的文章链接了,而且还不影响主题的升级。

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读