Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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:根据自定义字段和按日期排序显示未来事件_Wordpress - Fatal编程技术网

Wordpress:根据自定义字段和按日期排序显示未来事件

Wordpress:根据自定义字段和按日期排序显示未来事件,wordpress,Wordpress,我有一个自定义内容类型(事件),在该类型中我有一个自定义日期字段,名称为:“日期”。在我的模板中,我运行WP_查询以返回事件列表。我只想获取将来的事件(根据我的自定义“日期”字段),然后按同一字段对列表进行排序 我尝试了以下方法,但它只返回系统中所有“事件”的列表,而不考虑日期 $today = date('d M, y'); $args = array ( 'post_type' => 'event', 'met

我有一个自定义内容类型(事件),在该类型中我有一个自定义日期字段,名称为:“日期”。在我的模板中,我运行WP_查询以返回事件列表。我只想获取将来的事件(根据我的自定义“日期”字段),然后按同一字段对列表进行排序

我尝试了以下方法,但它只返回系统中所有“事件”的列表,而不考虑日期

    $today = date('d M, y');

    $args = array (
        'post_type'              => 'event',
        'meta_query'             => array(
            array(
                'key'       => 'date',
                'value'     => $today,
                'compare'   => '>',
                'type'      => 'CHAR',
            ),
        ),
        'meta_key'               => 'date',
        'orderby'                => 'meta_value_num',
        'order'                  => 'ASC'
    );
请注意:如果将类型从“CHAR”替换为“DATE”,则不会返回任何结果…

请尝试以下操作:

functions.php

function custom_unixtimesamp ( $post_id ) {
    if ( get_post_type( $post_id ) == 'events' ) {
    $startdate = get_post_meta($post_id, 'event_date_begins', true);

        if($startdate) {
            $dateparts = explode('/', $startdate);
            $newdate1 = strtotime(date('d.m.Y H:i:s', strtotime($dateparts[1].'/'.$dateparts[0].'/'.$dateparts[2])));
            update_post_meta($post_id, 'unixstartdate', $newdate1  );
        }
    }
}
add_action( 'save_post', 'custom_unixtimesamp', 100, 2);
然后询问

$today = time();    

    $args = array(
        'post_type' => 'events',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'meta_query' => array(
        array(
            'key' => 'unixstartdate',
            'compare' => '>=',
            'value' => $today,
            )
            ),
    'meta_key' => 'event_date_begins',
    'orderby' => 'meta_value',
    'order' => 'ASC',
    'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
);

我认为最好将这个问题发布在:公平评论!分类-谢谢