Notice: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472

Notice: Trying to access array offset on value of type bool in /www/wwwroot/weimahe.com/wp-content/advanced-cache.php on line 472
WordPress标题中横线“-”被转义解决办法 - 微码盒
!
也想出现在这里? 联系我们
广告位

WordPress标题中横线“-”被转义解决办法

众所周知 WordPress 网页 title 标题对 SEO 不太友好,WordPress 默认的标题采用”|”,参考了很多 SEO 相关文章之后,我们发现采用”-”使用分隔符号才是最好的办v m ] I E l D法。当然也有很多文章描述了网页 title 标题分隔符的运用,你也可以选择自己喜欢的分隔符号作为 title+ # L / u ( 标题。但是如果标题中带有横杠“-”的话,查看页面源代码的时候就会发现横线会被转义为实体: 2 F / _ @ ` h / 88211;,尽管前台网页标签里的标题显示正常,但是标题出现这个(如下图),感觉很不爽。

另外,在输出百度熊掌号的 json-ld 数据(如下图第 1 个红框)和百度分z & ) 1 9 | s H享自定义数据(如下图第 2 个红框)输出时,标题里面的横线也同样的被转义成这个实体了,而且百度居然直接就把实体给收录了,所以大家应该或多或} _ ! Z D少在很多熊掌号主页里会看到文章标题里带有 : @ B 5 q 5 48211;这个奇怪的字符串...

找到模板文件 header.php,这个文件在“/wp-content/themes/你选择的模板/”下面。你可以看到 title 标签中有一段 pj g Bhp 代码,这边就是用来输出标题的。其中有一个方法 wp_title(” | “),这个就是用来输出标题前半部分的,“|”就是分隔符号,于是我把”|”改成”-”,刷新前台页面,很高兴,网页o 2 X标题”|“都换成了”-“,但是一查看: \ # X , m )源码,悲催,”-R F z” 被替换成了RW : ( i11;,尽管现实在网页标签里的标题? J y显示正常,但是标题出现这个,感觉很不爽。

既然我们选定使用横杠“-”作为网站标题分隔符,我就考虑开始修改代码了,解决= C r 3 T 4 ; $横杠“-”转义的问题。

方法一

wordpress 自带一个专一的钩子 wptexturize,很多地方都用到了这个钩子,具体可以看看 WordPress 的6 n y D wp-includes/formatting.php 中看看,我们可以s t 7 ^ T f G ] v通过以下代码来取消掉这个转义:

  1. str. 3 + v p M I {_replace( "Rw 1 = b f b11;", "-", get_the_title()* $ . }; )

方法D } + X

我们查看 wp_title 这个方法,发现内部代码有替换这个符号,为什么要替换呢?暂时我也没弄不明白,只能在外围入手,我就直接调用 wp_title(“”),就是不要分隔符号,我自己在后面加”-”,最后的输出就变成这样了。

  1. echo trim(wp_title('', false, 'righ8 B d l 3 Rt'C Q z ? 2 : k + M1;);
  2. echo ' - ';
  3. bloginfo('name');

方法三

为了解决本文标题描述的这个问题,可以只是禁止 wptexturize 对标题的转义(推荐):

  1. /**
  2. * WordPress 标题中的横线“-”被转义成“–”的问题
  3. */
  4. remove_filter('the_title', 'wptexturize');
  5. remove_fi( e F : | 4 P ^ Plter('wp_title', 'wh ` ` fptexturize');
  6. remove_filter('single_! k G b } kpost_title', 'wptexturize');

方法四

把下方代码复制放到 function 文档里:

  1. function HTML_entity_decoE % c 3 [ _ 6de_title($~ Z 7 w 0 $ , qtitleC w L B z s041;
  2. {
  3. $title = str_replace("–", "-", $titlej ( 4 d I / 5);
  4. $title = html_entity_decode($title);
  5. return $title;
  6. }
  7. add_filter('the_title', 'html_entity_decode_title');
  8. add_filter('wp_title', 'html_entity_decode_titl- q & u ] J Be');

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

允许用户在 WooCommerce 中通过搜索订单备注过滤订单

2022-11-11 16:39:24

WordPress教程

WordPress主题开发中如何进行密码验证

2022-11-11 17:39:09

下载说明

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

站长声明

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