Home > php教程 > php手册 > 分享小技巧之WordPress(附代码)

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

PHPz
Release: 2018-10-17 14:44:36
Original
990 people have browsed it

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跳转。 个人认为非常理想的解决方案。

代码如下:

/**
 * 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);
}
Copy after login

是不是很简洁…..

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

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);
}
Copy after login

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

【相关教程推荐】

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template