繁体   English   中英

页面具有自定义模板的Wordpress URL重写问题

[英]Wordpress url rewrite issue for page has custom template

我有一个网址重写问题。 从wp-admin创建的页面,其标题假设配置文件和自定义模板被分配给配置文件页面。 我为网站使用了自定义的永久链接结构(/%postname%)。

现在,我希望URL如下所示:

http://www.example.com/profile/abc2015

目前,我正在传递像

http://www.example.com/profile/?pagename=profile&name=abc2015

我试图在主题函数.php中使用以下代码:

 <?php  
      function custom_rewrite_rule() 
      {   
         add_rewrite_tag('%name%', '([^&]+)');           
         add_rewrite_rule('^profile/([^/]*)/?$','index.php?pagename=profile&name=$matches[1]','top');    
      }
      add_action('init', 'custom_rewrite_rule'); 
    ?>

我没有找到任何解决方案。 有人可以帮忙吗?

谢谢

尝试这个

function create_new_url_querystring() {
    add_rewrite_rule(
        '^profile/([^/]*)$',
        'index.php?pagename=profile&name=$matches[1]',
        'top'
    );

    add_rewrite_tag('%name%','([^/]*)'); } add_action('init', 'create_new_url_querystring');

这未经测试,但希望能有所帮助。 另一个有用的信息,可能有助于您的工作。

刷新重写规则

当您更改WordPress URL结构或添加新的重写规则时,将需要使用新的URL规则来更新WordPress数据库,这样就可以了解如何从给定的URL搜索帖子。 有时,您会遇到更改URL结构和WordPress返回帖子的404页面的问题。 这可能是因为重写规则未正确刷新。

您可以通过几种方法来刷新固定链接规则。 首先,您可以导航到“永久链接”页面的“设置”->“永久链接”并更改永久链接,单击“保存”按钮,然后将其更改回原来的样子。 这将刷新您网站上的所有重写规则,并且应该显示您的自定义帖子类型。 其次,您可以打开phpMyAdmin,导航到wp_options表,然后从该表中删除重写规则记录。 下次WordPress加载时,它将检查此表中的重写规则(如果不存在),然后它将重新生成规则。

第三种选择是将函数flush_rewrite_rules()置于寄存器重写规则下。 这将完全刷新重写规则并解决重定向方面的所有问题。

flush_rewrite_rules();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM