有很多与此类似的问题,但不幸的是,似乎没有一个问题可以解决我...
我试图通过在Wordpress中使用自定义查询来过滤结果,方法是通过Wordpress的query_vars
,不过是I instead get a 404 error。仅当我在URL中输入的查询是已添加到自定义查询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
)within a page here。但是已经转移了WP并将gradehack页面设为主页,就出现了问题。
非常感谢您的帮助!
答案 0 :(得分:0)
因此,以防万一其他人遇到这种情况,我需要在“设置”>“阅读”中将“您的首页显示”设置为“您的最新帖子”,而不是将页面显示为静态页面。