WordPress修改所有文章的链接

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

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

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

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

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

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

于是就发生了第二个思绪:

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

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

详细代码如下:

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

  1. /*=== 添加设置选项 ===*/
  2. if ( ! function_exists( 'tm_add_options' ) ) :
  3.  
  4.     function tm_add_options() {
  5.  
  6.         register_setting( 'general', 'tm_article_link' );
  7.         add_settings_field( 'tm_article_link', '<label for="tm_article_link">文章链接</label>', 'tm_article_link', 'general' );
  8.  
  9.     }
  10.  
  11. endif;
  12.  
  13. if ( ! function_exists( 'tm_article_link' ) ) :
  14.  
  15.     function tm_article_link() {
  16.  
  17.         $value = get_option( 'tm_article_link', '' );
  18.         _e( '<input type="text" name="tm_article_link" id="tm_article_link" class="large-text" value="' . $value . '">' );
  19.         echo '<p class="description">文章外部链接地址</p>';
  20.  
  21.     }
  22.  
  23. endif;
  24.  
  25. add_filter( 'admin_init' , 'tm_add_options' );

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

  1. /*=== 替换文章链接 ===*/
  2. if ( ! function_exists( 'timoo_replace_article_link' ) ) : 
  3.  
  4.     function timoo_replace_article_link( $url, $post, $leavename=false ){
  5.  
  6.         $url = get_option( 'tm_article_link', '' );
  7.         return $url;
  8.  
  9.     }
  10.  
  11. endif;
  12.  
  13. add_filter( 'post_link', 'timoo_replace_article_link', 10, 3 );

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3308869544
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有猫币奖励和额外收入!

主题镇 WP教程 WordPress修改所有文章的链接 https://zhutizhen.com/14671.html

永远为用户服务的镇长!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或联络我们。
查看详情

相关文章