У тебя есть пара вещей. В вашем массиве $args
есть недопустимая точка с запятой, type
должно быть post_type
, я также не совсем уверен, что вам нужен этот странный оператор сравнения?
Попробуйте это:
$args = array(
'author' => $post->post_author,
'post_type' => 'event',
'order' => 'ASC',
'posts_per_page' => -1
);
Также убедитесь, что установлено $post
, в зависимости от того, * где вы вызываете это , возможно, не существует созданного / глобального $post
объекта.
Это также предполагает, что вы используете фактический post_type
с именем event
, в противном случае, если вы проверяете обычные записи на наличие мета-поля '_listing_type'
, вам нужно отбросить аргумент post_type
, и вместо этого добавьте аргумент meta_query
- обратите внимание, что это очень медленно для больших баз данных, потому что таблица postmeta
не индексируется по умолчанию. Также обратите внимание, что meta_query
- это массив массивов .
Этот запрос будет выглядеть примерно так:
$args = array(
'author' => $post->post_author,
'order' => 'ASC',
'posts_per_page' => -1,
'meta_query' => array(
array(
'meta_key' => '_listing_type',
'meta_value' => 'event'
)
)
);