使用JQuery对显示的帖子进行重新排序(标题A-Z/上次发布)

时间:2016-09-02 作者:Oliwa

只是想知道是否有人遇到过这样的情况:我有一个以正方形网格中的艺术家为特征的首页,现在客户要求使用一个切换按钮,首先将艺术家从a-Z(基于艺术家名称)重新排序到传统的最新帖子,但这将在不重新加载页面的情况下发生。

我找到了一个解决方案,提供了一个参数,然后重新加载页面更新查询,但客户端希望这样“即时”发生:http://selectiveartists.com/

也许有一种方法可以通过JQuery(插件)来改变帖子的顺序?

2 个回复
SO网友:EBennett

使用WordPress,您可以使用一个名为wp_localize_script() 它允许您传入一个脚本和一个您希望该脚本也能访问的变量。

也许通过将新查询分配给一个变量,然后在jQuery中访问它,可以帮助您解决问题。

WordPress提供的示例非常清楚地解释了这一点:

<?php
  // Register the script
  wp_register_script( \'some_handle\', \'path/to/myscript.js\' );

  // Localize the script with new data
  $translation_array = array(
       \'some_string\' => __( \'Some string to translate\', \'plugin-domain\' ),
       \'a_value\' => \'10\');

  wp_localize_script( \'some_handle\', \'object_name\', $translation_array );

  // Enqueued script with localized data.
  wp_enqueue_script( \'some_handle\' );
?>
然后像这样访问:

<script>
  // alerts \'Some string to translate\'
  alert( object_name.some_string);
</script>
如您所见,Javascript现在通过获取绑定到变量$translation\\u数组的object\\u名称来访问变量translation\\u数组变量,然后从数组中提取一些字符串的值。

所以我们可以写一些大致如下的内容:

<?php 
    $args = array(\'order\' => \'ASC\');
    $get_artists = get_posts($args);

    wp_register_script(\'artists\', \'path/to/artists.js\');
    wp_localize_script(\'artists\', \'artist_sort\', $get_artists);

    wp_enqueue_script(\'artists\');
?>
然后访问艺术家中的变量。js脚本。

[不知道这是否有效,因为我还没有测试过它,只是一个简单的示例,说明您可以如何处理它]

SO网友:Oliwa

感谢您的回答EBennett,我刚刚找到了方便的jQuery片段,它允许我通过帖子标题对列表项进行升序和降序排序。如果有人感兴趣,以下是我根据需要修改的代码:http://fiddle.jshell.net/PmE2t/88/light/

相关推荐

具有多个分类的GET_TERMS中的ORDER BY slug

我正在构建一个搜索引擎,在那里我需要搜索两种不同的分类法,并按slug对它们进行排序。我得到了这个密码。$search = sanitize_text_field( $_POST[ \'search\' ] ); $content = \'\'; $terms = get_terms(array( \'taxonomy\' => array(\'apartments\',\'houses\'), \'search\' => $search,&#x