使用RewriteRule时,Wordpress循环不起作用

时间:2016-03-03 11:31:41

标签: wordpress url-rewriting

我在页面上使用.htaccess RewriteRule。当用户进入

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<form class="form-horizontal">

                <div class="form-group">
                    <label class="col-md-2 control-label" for="Name">Full name <span class="required">*</span></label>
                    <div class="col-md-10">
                        <input id="Name" name="Name" placeholder="Full name" class="form-control input-md" required="" type="text">
                        <span class="format-block"><a data-toggle="tooltip" data-placement="right" title="John Doe">Format</a></span>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-2 control-label" for="email">E-mail <span class="required">*</span></label>
                    <div class="col-md-10">
                        <input id="email" name="email" placeholder="E-mail" class="form-control input-md" required="" type="email">
                        <span class="format-block"><a data-toggle="tooltip" data-placement="right" title="johndoe@gmail.com">Format</a></span>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-2 control-label" for="phone">Phone number</label>
                    <div class="col-md-10">
                        <input id="phone" name="phone" placeholder="Phone number" class="form-control input-md" type="text">
                        <span class="format-block"><a data-toggle="tooltip" data-placement="right" title="Only numbers">Format</a></span>
                    </div>
                </div>

                <div class="form-group">
                    <label class="col-md-2 control-label" for="question">Question <span class="required">*</span></label>
                    <div class="col-md-10">
                        <textarea rows="20" cols="40" class="form-control" id="question" required="" name="question"></textarea>
                    </div>
                </div>

                <div class="col-md-10 col-md-offset-2">
                <button type="submit" class="btn btn-default formbuttonalign">Send mail!</button>
                </div>
        </form>

RewriteRule实际加载

/news

在该页面上,我使用Wordpress循环显示最近的帖子

/?nav=news

直接从 /?nav = news 访问此页面时,The Loop会显示帖子。但是,当我从 / news (使用RewriteRule)访问该页面时,我没有得到任何结果。

是什么导致这种情况?

实际的RewrirteRule看起来像这样:

if (have_posts()) {
    while (have_posts()) {
        the_post();
        the_title();
    }
}

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你必须通知wordpress'这两个地址使用WP redirect API表示相同。您正在进行WP的方式并不知道/news/?nav=news相同。

尝试将此代码添加到主题

function custom_rewrite_news() {
    add_rewrite_rule('^news/?', 'index.php?nav=news', 'top');
}
add_action('init', 'custom_rewrite_news');

在信息中心中转到设置 - &gt;永久链接,只需点击保存更改,无需任何更改。

希望它有所帮助!