【问题标题】:WordPress : How to change Ordering 'Ajax Load More' PluginWordPress:如何更改订购“Ajax 加载更多”插件
【发布时间】:2016-06-21 09:41:15
【问题描述】:

“Ajax Load More”插件已安装在我的网站上,我想更改排序

wp_posts 表中有spacialfield DB

但我无法在我的帖子中设置

<option value="spacial" selected="selected">VIP (default)</option>
<option value="date">Date</option>

改了:

 plugins / ajax-load-more / admin / shortcode-builder / shortcode-builder.php

原来如此:

<div class="inner half">
   <label class="full"><?php _e('Order By', 'ajax-load-more'); ?>:</label>
       <option value="spacial" selected="selected">VIP (default)</option>
   <select class="alm_element" name="post-orderby" id="post-orderby">
       <option value="date">Date</option>
       <option value="title">Title</option>
       <option value="name">Name (slug)</option>
       <option value="menu_order">Menu Order</option>
       <option value="author">Author</option>
       <option value="ID">ID</option>
       <option value="comment_count">Comment Count</option>
       <option value="modified">Modified</option>
       <option value="meta_value_num">meta_value_num</option>                   
   </select>
</div>

但一切都没有改变,帖子也没有按我的意愿排序

Admin Panel &gt; Ajax Load More &gt; Shortcode Builde 上的短代码输出:

[ajax_load_more post_type="post" orderby="spacial"]

我应该把'shortcode-builder'代码放在哪里?

------------------- 更新数据-------------------

您的意思是管理面板 > Apearacne > 编辑器 > 主页(主页)

我可以找到:

echo do_shortcode('[ajax_load_more category__not_in=1 '.$query.'  button_label="More Posts" orderby="title" order="DESC"  posts_per_page="20" ]');

当我将 orderby 更改为 spacial 时,它不起作用

我也试试:

<?php 
    $cat = get_category( get_query_var( 'cat' ) );
    $category = $cat->slug;

    if (!empty ($category))
        $query .= ' category="'.$category.'" ';
    if (isset ($_GET["province"]) && !empty($_GET["province"]))
        $query .= ' meta_key="province" meta_value="'.$_GET["province"].'" ';
    if (isset ($_GET["city"]) && !empty($_GET["city"]))
        $query .= ' meta_key="city" meta_value="'.$_GET["city"].'" ';
    $query .= ' ORDER BY SPACIAL DESC';
    echo do_shortcode('[ajax_load_more category__not_in=1 '.$query.'  button_label="More Posts" posts_per_page="20" ]');

?>

【问题讨论】:

  • 我不确定您所说的变更单是什么意思,但您可以将shortcode-builder action/filter 挂钩放入活动主题/子主题的functions.php file
  • @Milap 我是 WP 的初学者,你能解释一下吗?

标签: ajax plugins wordpress


【解决方案1】:

您只能按自定义字段值而不是 wp.posts 表中的字段排序(我相信)。 https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

如果空间是自定义字段。

[ajax_load_more post_type="post" orderby="meta_value" meta_key="spacial"]

【讨论】:

  • 它按标题和wp_posts表中的一些字段排序,那么它是如何做到的呢?
  • 你不能。您需要使用 WordPress WPDB 类创建自定义查询。 codex.wordpress.org/Class_Reference/wpdb 然后使用 post__in 短代码参数将此自定义查询的结果传递给 Ajax Load More。
  • 已更新,请查收,谢谢
  • 我可以在 postmeta 表中使用多重查询吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 1970-01-01
  • 2019-04-18
  • 1970-01-01
  • 2021-08-19
  • 2015-10-13
相关资源
最近更新 更多