从类别下拉列表中选择后,wordpress更改类别演示文稿

时间:2014-01-04 08:08:51

标签: javascript wordpress post categories archive

我正在尝试构建一个显示帖子存档的插件。我做了它,它工作正常,但我想添加一个类别下拉列表,选择一个后,存档将刷新,并将显示选择的类别。这是相关的代码,但它不起作用。选择一个类别没有任何事情发生,它需要刷新..任何关于如何做到这一点的想法?

<?php wp_dropdown_categories('show_option_none=Select category'); ?>
<script type="text/javascript"><!--
    var dropdown = document.getElementById("cat");
    function onCatChange() {
        if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
            location.href = "<?php echo get_option('home');
?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
        }
    }
--></script>
</li>
      <ul class="zeevul">
<?php query_posts( array ( 'cat' => 'dropdown.options[dropdown.selectedIndex].value', 'posts_per_page' => 999));
if (have_posts()) : while (have_posts()) : the_post();
  // do whatever you want
?>
<li>
<h2 href="<?php the_permalink(); ?>"><?php the_title(); ?></h2>
<p><?php echo excerpt($words); ?></p>

1 个答案:

答案 0 :(得分:0)

我认为这种做法是错误的。这里Javascript和PHP的组合不是双向显示的。

据我所知,在 query_posts 上,您无法将参数从JS传递给PHP。现在你传递一个字符串,用“dropdown.options ....”查询数据库,这只是服务器的一个字符串,而不是真正的值。

我认为最好将Dropbox设置为每次更改后自我发布的表单。作为帖子发送的参数将是所选索引的值,即类别ID。使用PHP“捕获”该值并简单地查询此类别的帖子。

你可以使用“post”或“get”,因为我觉得在WP中处理帖子有点棘手。

希望有所帮助。