Wordpress выдает ошибку 404 с пользовательским запросом - PullRequest
2 голосов
/ 14 июня 2019

Есть много вопросов, подобных этому, но, к сожалению, ни один из них не является для меня исправлением ...

Я пытаюсь отфильтровать результаты, используя пользовательский запрос в Wordpress, через Wordpress 'query_vars, однако Вместо этого я получаю ошибку 404 .Эта ошибка возникает только в том случае, если запрос, который я ввожу в URL-адрес, является одним из тех, которые я добавил в функцию пользовательского запроса functions.php.

functions.php

function create_posttype_modules() {

    register_post_type( 'modules',
        array(
            'labels' => array(
                'name' => __( 'Modules' ),
                'singular_name' => __( 'Module' ),
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'modules'),
            'has_archive' => true,
            'taxonomies' => array( 'post_tag', 'category' ),
            'supports' => array('title'),
        )
    );
}
add_action( 'init', 'create_posttype_modules' );


function add_my_var($public_query_vars) {
    $public_query_vars[] = 'subject';
    $public_query_vars[] .= 'orderselected';
    return $public_query_vars;
}
add_filter('query_vars', 'add_my_var');

Отрывок формыиспользуется на странице

    <?php

echo '<form id="order" action="' . esc_url( home_url( "/" ) ) . '" method="get">';
?>
  <input type="hidden" name="subject" value="<?php echo htmlspecialchars($_GET['subject']);?>">
  <select name="orderselected" onchange='this.form.submit()'>
    <option value="name" <?php echo get_query_var('orderselected') == 'none' ? 'selected' : ''; ?>>Select</option>
    <option value="name" <?php echo get_query_var('orderselected') == 'name' ? 'selected' : ''; ?>>Name</option>
    <option value="mean" <?php echo get_query_var('orderselected') == 'mean' ? 'selected' : ''; ?>>Mean grade</option>
    <option value="first" <?php echo get_query_var('orderselected') == 'first' ? 'selected' : ''; ?>>1st %</option>
    <option value="twoone" <?php echo get_query_var('orderselected') == 'twoone' ? 'selected' : ''; ?>>2:1 %</option>
    <option value="twotwo" <?php echo get_query_var('orderselected') == 'twotwo' ? 'selected' : ''; ?>>2:2 %</option>
    <option value="third" <?php echo get_query_var('orderselected') == 'third' ? 'selected' : ''; ?>>3rd %</option>
    <option value="fail" <?php echo get_query_var('orderselected') == 'fail' ? 'selected' : ''; ?>>Fail %</option>
  </select>

    <noscript>
        <input type="submit" value="View" />
    </noscript>
</form>

У меня это работало на подстранице

У меня это работало на подстранице (только с другим небольшим отличием я изменил cat запрос к subject) на странице здесь .Но, переместив WP и сделав страничку на домашнюю страницу, проблема возникла.

Большое спасибо за помощь!

1 Ответ

0 голосов
/ 15 июня 2019

Таким образом, в случае, если кто-то еще сталкивается с этим, оказывается, что мне нужно было установить "Отображение вашей домашней страницы" в Настройках> Чтение на "Ваши последние сообщения", а не отображать страницу как статическую страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...