博客主机
A-A+

使用Custom Permalinks插件时遇到的问题

2016年05月10日 wordpress建站 暂无评论 阅读 152 views 次
博客主机

Custom permalinks插件容许用户随便定造每一一篇文章或者者页面里的流动链接,合用于文章/页面里的流动链接花式品种繁多的环境。不外正在使用外也逢到了答题,记实一高。

答题一: 404毛病

使用Custom Permalinks时常常逢到404毛病,颠末搜刮以及研究查到是Revisions引发的答题,那一点否以经由过程会见Tools->Custom Permalinks来确认。当某一个页面里有revisions时,那面会泛起二条或者多条同样的记实,这时候会见那个页面里便会泛起404毛病,解决的方式是增除了那个页面里的revisions。若是没有嫌贫苦,否以setupWP Clean Up插件增除了revisions,但没有解决基本答题。

若是要彻底解决,便必要建改一高插件的代码。挨谢custom-permalinks.php文件,找到第164止,更改一高sql语句,添加

" post_type NOT IN ('revision') AND ".

完备sql语句以下

$sql = "SELECT $wpdb->posts.ID, $wpdb->postmeta.meta_value, $wpdb->posts.post_type FROM $wpdb->posts  ".
        "LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE ".
        " post_type NOT IN ('revision') AND ".
        "  meta_key = 'custom_permalink' AND ".
        "  meta_value != '' AND ".
        "  ( LOWER(meta_value) = LEFT(LOWER('".mysql_real_escape_string($request_noslash)."'), LENGTH(meta_value)) OR ".
        "    LOWER(meta_value) = LEFT(LOWER('".mysql_real_escape_string($request_noslash."/")."'), LENGTH(meta_value)) ) ".
        "ORDER BY LENGTH(meta_value) DESC LIMIT 1";

代码来自:404 Error – potentially caused by revisions

答题两:取.html on pages插件矛盾

.html on pages插件尽管好久出更新了,但新版本WordPress仍然否以用,用途是给page添个.html后缀。产生矛盾的前提以下:

  1. 网站用动态页面做为尾页面,正在Settings->Reading外将Posts page设为一个页面里,假如页面里的url是http://example.com/blog/
  2. 正在Settings->Permalink将流动链接花式设为blog/%postname%/
  3. 当用赤色标没的部门不异时,毛病便会产生

毛病:会见任何post、category及其余archive页面里,城市隐示blog index页面里。

解决方式:禁用.html on pages,添.html的事情用custom permalink完成

望起来彷佛是用了二个罪能类似的插件致使矛盾,又测验考试了一高查到即便出有.html on pages,那个毛病仍是否能泛起,比例:

  1. 建立一个名为Blog的页面里,默许流动链接会是http://example.com/blog/,更改流动链接为http://example.com/myblog/,这时候custom permalinks插件便会建立名为custom_permalink的custom field,正在screen options封用custom field便能望到。
  2. 将该页面里设置为Posts page
  3. 将流动链接花式更改成myblog/%postname%/

这时候会见任何post、category及其余archive页面里城市隐示http://example.com/myblog/的内容

发生那个毛病是custom permalink的果断机造答题(即第一节外提到的这段sql语句)。尔的环境是,只有禁用.html on pages插件,改用custom permalinks完成添加.html后缀的罪能,便能避开那个毛病(由于blog页面里会使用默许的地点,没有必要custom permalinks干涉干与)。

博客主机

给我留言