ホームページ > php教程 > php手册 > 分享小技巧之WordPress(附代码)

分享小技巧之WordPress(附代码)

PHPz
リリース: 2018-10-17 14:44:36
オリジナル
1063 人が閲覧しました

WordPress强大之处就是在于,我们能想到的已经实现了,只是我们不知道而已。 网上有很多解决方案,基本归类为: 1. 通过Rewrite Rule 301跳转实现(如果是已经被收录的URL可以的,但刚开始时不建议使用) 2. 通过修改wp-includes/canonical.php实现

WordPress强大之处就是在于,我们能想到的已经实现了,只是我们不知道而已。

网上有很多解决方案,基本归类为:

1. 通过Rewrite Rule 301跳转实现(如果是已经被收录的URL可以的,但刚开始时不建议使用)
2. 通过修改wp-includes/canonical.php实现(升级时会被覆盖,不建议)
3. 通过插件来实现

下面就说一下插件方法:
插件 Permalink Trailing Slash Fixer 已经实现这个功能。

下载后查看代码,你会发现只有几行而已。 而且内部调用的是Wordpress自带的方法实现的。 并且不会出现301跳转。 个人认为非常理想的解决方案。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/**

 * Public staff only.

 */

if (is_admin()) return;

$permalink_structure = get_option('permalink_structure');

if (!$permalink_structure || '/' === substr($permalink_structure, -1))

    return;

add_filter('user_trailingslashit''ppm_fixe_trailingslash', 10, 2);

/**

 * Appends a trailing slash if it's missing in the permalink structure.

 *

 * Conditionally adds a trailing slash if the url type is not "single".

 *

 * @param string $url A URL with or without a trailing slash.

 * @param string $type The type of URL being considered (e.g. single, category, etc).

 * @return string The URL with the trailing slash fixed.

 */

function ppm_fixe_trailingslash($url$type)

{

    if ('single' === $type)

        return $url;

    return trailingslashit($url);

}

ログイン後にコピー

是不是很简洁…..

如果你是使用的多站点,而之前的站点SEO还不错,现在准备添加一新站点的话,以防相互有影响建议将上面代码微调后加入到 模板目录functoins.php中(或是使用插件,只在新的站点开户插件功能,也是一样的):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

if (!is_admin()) {

    function ppm_fixe_trailingslash($url$type)

    {

        $permalink_structure = get_option('permalink_structure');

        if (!$permalink_structure || '/' === substr($permalink_structure, -1))

        {

        return;

        }

        if ('single' === $type || 'page' === $type)

        {

        return $url;

        }

        return trailingslashit($url);

    }

    add_filter('user_trailingslashit''ppm_fixe_trailingslash', 10, 2);

}

ログイン後にコピー

最后,得要的是,让新添回报URL Rules生效: 进入后台–>Setting–>Permalinks刷新即可。

【相关教程推荐】

1. php编程从入门到精通全套视频教程
2. php从入门到精通 
3. bootstrap教程

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート