【问题标题】:how to add custom url rewrite ie from query string url to pretty url in wordpress using add_rewrite_rule如何使用 add_rewrite_rule 添加自定义 url 重写,即从查询字符串 url 到 wordpress 中的漂亮 url
【发布时间】:2021-10-29 16:36:08
【问题描述】:

我只需要重定向 test.com/buying/properties-for-sale/?property=-north-gorley-11409

到 test.com/buying/properties-for-sale/-north-gorley-11409 在 wordpress 中

我尝试了下面的重写,但结果是 404 页面

add_rewrite_rule('/buying/properties-for-sale-salisbury-2/?([^/]*)', 'index.php?pagename=properties-for-sale-salisbury-2&property=$matches[1]', 'top'); 

【问题讨论】:

    标签: wordpress url-rewriting


    【解决方案1】:

    将重写规则查询添加为可选的示例,希望对您有所帮助。

    function custom_rewrite_rule() {
        add_rewrite_rule('^nutrition/?([^/]*)/?','index.php?page_id=12&food=$matches[1]','top');
    }
    add_action('init', 'custom_rewrite_rule', 10, 0);
    

    这里的主要内容是添加 ?在你的正则表达式的开头。喜欢 ?([^/]*)

    现在,您可以为将使用查询的可选查询设置默认值。

    $food = $wp_query->get( 'food' );
    if( isset($food) && !empty($food) ) {
        $nutrition = $food;
    }else{
        $nutrition = 'strawberry'; //default value
    }
    

    现在,http://example.com/nutrition/strawberry 或 http://example.com/nutrition/ 将得到相同的结果

    【讨论】:

    • 如果一次有两个重定向我需要添加 test.com/tenants/?property=avon-place-salisbury-11513 重定向到 test.com/tenants/avon-place -salisbury-11513
    • @Amal 无法同时进行两个重定向
    • @Infostans。谢谢您的帮助。是的,两个重定向正在工作
    【解决方案2】:

    代码对我有用 我找到了问题here的smam etype@

    add_action( 'init',  function() {
    
    
    add_rewrite_rule('^(tenants)/([^/]*)/?', 'index.php?pagename=$matches[1]&property=$matches[2]','top');
    add_rewrite_rule('^(buying/properties-for-sale-salisbury-2)/([^/]*)/?', 'index.php?pagename=$matches[1]&property=$matches[2]','top');
    
    add_filter('query_vars', 'foo_my_query_vars');
    });
    
    
    function foo_my_query_vars($vars){
    $vars[] = 'property';
    return $vars;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 2012-07-22
      • 2011-12-15
      • 2014-09-22
      • 1970-01-01
      • 2016-02-13
      • 2015-03-14
      • 2021-03-22
      • 1970-01-01
      相关资源
      最近更新 更多