Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress SQL$wpdb按投递顺序而不是按日期查询_Sql_Wordpress - Fatal编程技术网

Wordpress SQL$wpdb按投递顺序而不是按日期查询

Wordpress SQL$wpdb按投递顺序而不是按日期查询,sql,wordpress,Sql,Wordpress,我有一个函数可以在Wordpress中查找帖子的兄弟姐妹,前三个和后三个。然而,目前,它在发布日期前订购,这不是我想要的。在wordpress中,我有一个插件,允许用户重新订购帖子,这就是它在网站上的显示方式。我需要这个查询不是按日期排序,而是按邮件的顺序排序。这可能吗 function get_post_siblings( $limit = 3, $date = '' ) { global $wpdb, $post; if( empty( $date ) ) $date = $pos

我有一个函数可以在Wordpress中查找帖子的兄弟姐妹,前三个和后三个。然而,目前,它在发布日期前订购,这不是我想要的。在wordpress中,我有一个插件,允许用户重新订购帖子,这就是它在网站上的显示方式。我需要这个查询不是按日期排序,而是按邮件的顺序排序。这可能吗

function get_post_siblings( $limit = 3, $date = '' ) {
global $wpdb, $post;

if( empty( $date ) )
    $date = $post->post_date;

//$date = '2009-06-20 12:00:00'; // test data

$limit = absint( $limit );
if( !$limit )
    return;

$p = $wpdb->get_results( "
(
    SELECT 
        p1.post_title, 
        p1.post_date,
        p1.post_name,
        p1.ID
    FROM 
        $wpdb->posts p1 
    WHERE 
        p1.post_date < '$date' AND 
        p1.post_type = 'work' AND 
        p1.post_status = 'publish' 
    ORDER by 
        p1.post_date DESC
    LIMIT 
        $limit
)
UNION 
(
    SELECT 
        p2.post_title, 
        p2.post_date,
        p2.post_name,
        p2.ID 
    FROM 
        $wpdb->posts p2 
    WHERE 
        p2.post_date > '$date' AND 
        p2.post_type = 'work' AND 
        p2.post_status = 'publish' 
    ORDER by
        p2.post_date DESC
    LIMIT 
        $limit
) 
ORDER by post_date DESC
" );
$i = 0;
$adjacents = array();
for( $c = count($p); $i < $c; $i++ )
    if( $i < $limit )
        $adjacents['prev'][] = $p[$i];
    else
        $adjacents['next'][] = $p[$i];

return $adjacents;
函数get\u post\u同胞($limit=3,$date=''){ 全球$wpdb,$post; 如果(空($日期)) $date=$post->post\u日期; //$date='2009-06-20 12:00:00';//测试数据 $limit=缺勤($limit); 如果(!$limit) 返回; $p=$wpdb->获取结果(“ ( 挑选 p1.职位名称, p1.U后日期, p1.职位名称, p1.ID 从…起 $wpdb->posts p1 哪里 p1.post_日期<'$date'和 p1.post_类型=‘工作’和 p1.post_状态=‘发布’ 订购人 p1.post_日期说明 极限 美元限额 ) 联合 ( 挑选 p2.职位名称, p2.发布日期, p2.职位名称, p2.ID 从…起 $wpdb->posts p2 哪里 p2.post_date>“$date”和 p2.post_类型=‘工作’和 p2.post_状态=‘发布’ 订购人 p2.post_日期说明 极限 美元限额 ) 邮购日期说明 " ); $i=0; $adjacents=array(); 对于($c=计数($p);$i<$c;$i++) 如果($i<$limit) $adjancets['prev'][]=$p[$i]; 其他的 $nextachents['next'][]=$p[$i]; 返回$adjances;
}

如果您的插件使用数据库字段“菜单顺序”来订购帖子,您可以将“发布日期”替换为“菜单顺序”。如果您的插件使用数据库字段“菜单顺序”来订购帖子,您可以将“发布日期”替换为“菜单顺序”