根据选择筛选选择结果

时间:2013-07-08 作者:Alex Sims

每当用户更改我表单上的选择项时,我尝试筛选哪些作业结果呈现到页面。select项由下面的代码动态填充,该代码为它们分配一个slug值和标签。

        <div style="background: url(\'<?php bloginfo( \'template_directory\'); ?>/images/drop-arrow2.png\') no-repeat;" id="cat-select">
            <form name="job_select" action="<?php bloginfo(\'url\'); ?>/jobs.php" method="get">
                <select class="job_cats" name="position_name" onchange=\'<?php echo ".$category->category_nicename."; ?>\'>
                         <?php 
                              // For every child of blog
                              $post_count = 1;
                              $categories =  get_categories(\'child_of=16\'); 
                              foreach ($categories as $category) {
                                $option = \'<option value="\'.$category->category_nicename.\'">\';
                                $option .= $category->cat_name;
                                $option .= \'</option>\';
                                echo $option;
                                $post_count++;
                              }
                         ?> 
                </select>
            </form>
    </div>
然后代码转到我的主WP循环,在这里,我的所有帖子都使用此查询呈现到页面-

    <?php 
    $node_id = 0;
    $args = array(
        \'post_type\' => \'jobs\',
        \'category_name\' => $_GET[\'position_name\']
    );

    $the_query = new WP_Query( $args );


?>
我想$category->cat_name (slug)插入“category\\u name”参数以过滤结果,但我不确定如何a)刷新页面以显示这些新的过滤结果(是否需要AJAX来完成此操作?)和b)如何将选择框的当前选定索引作为参数传递给“category\\u name”,我已尝试使用$_GET[\'position_name\'] 但这并没有产生任何结果。

为了直观显示我的页面外观,可以在此处看到一个屏幕截图Form Screengrab 如有任何建议,将不胜感激。

1 个回复
SO网友:icc97

鉴于我的评论似乎回答了这个问题:

访问所需的URL参数$wp_query->query_vars[\'myvar\']: http://wordpress.org/support/topic/how-to-pass-value-in-wordpress-url, e、 g.:

<?php
global $wp_query; 
$node_id = 0;
$args = array(
    \'post_type\' => \'jobs\',
    \'category_name\' => $wp_query->query_vars[\'position_name\']
);

$the_query = new WP_Query( $args );
问题的其他部分并不是真正的WordPress问题,因此堆栈溢出是询问它们的最佳场所。要更新页面,可以使用javascript redirect for the onchange event 或者您可以使用AJAX to update the contents for the onchange event 没有页面刷新。

结束

相关推荐

使用自定义字段值在Single-{Content-type}.php中创建帖子标签

我的要求与Tabbed Post.我有高级自定义字段(ACF)插件来存储数据。因此,从wordpress支持线程中提取需求:电影摘要|简介|屏幕|预告片|评论|添加评论电影摘要是\\u content(),大纲是\\u摘录(),屏幕和预告片是自定义字段值。我想知道如何将内容(即摘要、概要、屏幕、预告片)拆分为选项卡,以重新加载页面。我不想使用javascript更改选项卡,特别想每次都重新加载页面。一个可行的例子是:Example提前谢谢。