!
也想出现在这里? 联系我们
广告位

WordPress修改所有文章的链接

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

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

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

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

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

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

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

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

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

具体代码如下:

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

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

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

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

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

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

Anonical 有什么作用出现两个怎么办

2024-1-12 13:57:30

WordPress教程

Google Captcha(reCAPTCHA)人机身份验证WordPress插件

2024-1-26 14:12:36

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索