利用wordpress提供的函数实现重定向
利用wordpress提供的函数实现重定向

利用wordpress提供的函数实现重定向

需求分析:

在应用了wordpress上一个精美的主题以后,我想将某一个特定分类的文章都放在一个页面上(要特地制作成页面的额原因是,在某些选项中只能选择页面,不能自定义链接),并与主题的风格尽可能统一。

这个时候就遇到了问题,我试过了自定义插件、简码、wordpress的循环查询等等,都无法满足风格统一这个需求。偶然间想起来前段时间使用过Nginx的重定向和反向代理功能,便查阅了相关资料,发现wordpress提供了重定向功能的相关代码。

解决方案:

创建一个空白页面 ,然后在主题文件编辑器中编辑function.php文件,在任意处添加如下代码(最好在文件末尾,方便日后修改):

function custom_page_redirect() {
    // 检查当前是否为指定的页面
    if (is_page('站点建设')) {
        // 构建目标重定向链接
        $redirect_url = home_url('/index.php/category/所有文章/websitebuilding/');

        // 执行重定向
        wp_redirect($redirect_url, 301);
        exit();
    }
}

// 注册template_redirect动作
add_action('template_redirect', 'custom_page_redirect');

其中,is_page()函数中的参数可以是:

  1. 页面标识符(Page Slug):可以传递页面的标识符,这通常是页面的 URL 尾部部分,即页面的 slug。
    is_page('example-page');
  2. 页面ID:可以传递页面的ID,这是WordPress为每个页面分配的唯一数字标识符。
    is_page(42);
  3. 页面标题(Page Title):也可以传递页面的标题。
    is_page('Example Page');
  4. 多个参数:你还可以传递一个包含多个页面标识符、ID或标题的数组。
    is_page(array('example-page', 'Another Page', 42));

注意事项:

根据个人的使用情况来看,在开启了CDN后,设置的页面重定向规则失效了,解决方法也很简单,在CDN设置的相关页面配置网站的重定向规则即可。不同的CDN服务商的设置可能不相同。

starry0214

订阅评论
提醒
guest

0 评论
最新
最旧 最多投票
内联反馈
查看所有评论