懿古今前面已经跟大家分享了『微慕小程序基础教程:WordPress文章中的链接如何设置才能实现小程序内跳转?』,不够每次都需要手动去添加小程序链接属性,非常麻烦。今天才想到完全可以利用以前WordPress站点外链变内链的方法来判断文章页的链接是否为内链页面,如果是就提取该链接的ID,并自动添加上小程序的链接属性。
WordPress文章页内链自动实现小程序内跳转的步骤
1、将以下代码添加到当前主题的functions.php文件中并保存更新文件:
//给内部链接加上微信小程序属性实现小程序内跳转
add_filter('the_content','the_content_nofollowxcx',999);
function the_content_nofollowxcx($content)
{
preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
if($matches){
foreach($matches[2] as $val){
if(strpos($val,'www.yigujin.cn')!==false){
preg_match('/https:\/\/www.yigujin.cn\/(\d+).html/',$val,$number);
$content=str_replace("href=\"$val\"", "href=\"$val\" appid=\"wx123456\" path=\"/pages/detail/detail?id=$number[1]\" redirectype=\"apppage\" jumptype=\"redirect\" target=\"_blank\" rel=\"noopener\"",$content);
}
}
}
return $content;
}
2、修改以上代码第8行和第9行网址为自己网站地址,第10行appid为自己小程序ID或留空也行。
特别说明:
1、以上方法仅适用于WordPress站点的固定链接选择了/%post_id%.html结尾的URL结构,其他结构无法实现。
2、如果你的站点所使用的主题本身就有外链转内链的代码,那么完全可以将本文所说的代码结合到外链转内链的代码中。另外,如果你的外链转内链中/go/?url=结构,还需要将上述第8行代码修改为(PS:其他结果类似,若使用加密链接则无需理会):
if(strpos($val,'www.yigujin.cn')!==false && strpos($val,'/go/')===false){
您可能感兴趣的文章
- 微慕小程序基础教程:如何修改小程序头部的默认颜色?12种颜色可选
- 微慕小程序基础教程:怎么在底部tabbar显示指定分类?
- 微慕小程序基础教程:如何将底部菜单栏“排行”改为“最新评论”或其他
- 微慕小程序基础教程:如何实现小程序底端菜单栏不显示排行榜?
- 微慕小程序基础教程:小程序赞赏鼓励的默认金额在哪里修改?
- 微慕小程序基础教程:如何去掉首页排行榜列表页的缩略图?
- 微慕小程序基础教程:如何实现仅在开启激励视频广告的文章页显示小程序码?
- 微慕小程序基础教程:小程序广告位ID如何获取?广告设置如何填写?
- 微慕小程序基础教程:如何设置和开启激励视频?
- 微慕小程序基础教程:删除哪些代码可以让文章不显示阅读数?
懿古今 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请发邮件至[email protected],确认后马上更正、删除,谢谢!
版权声明:本文为原创文章,版权归
发表于2022-11-03 18:14 沙发
个人主体微信小程序的福音,哈哈!
@明月登楼确实,自动添加小程序链接属性比起人工添加更高效,而且也不会忘记添加。