Я использую следующий код в моих функциях. php файл для отображения результатов в определенном порядке ...
function my_pre_get_posts( $query ) {
if( is_admin() ) {
return $query;
}
if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'book' ) {
$query->set('orderby', 'meta_value');
$query->set('meta_key', 'start_date');
$query->set('order', 'DESC');
}
return $query;
}
add_action('pre_get_posts', 'my_pre_get_posts');
function wpse139657_orderby($query){
$query->set( 'orderby', 'meta_value' );
$query->set( 'order', 'DESC' );
$query->set( 'meta_key', 'book_release_date' );
$query->set( 'meta_type', 'NUMERIC' );
if (is_admin() || $query->query_vars['post_type'] != 'book') return $query;
}
add_filter('pre_get_posts','wpse139657_orderby');
Проблема в том, что приведенный выше код вызывает какой-то конфликтов с другими запросами функций, которые перестали работать.
Я почти уверен, что должен исправить эту часть кода: if (is_admin() || $query->query_vars['post_type'] != 'book') return $query;
, но, тем не менее, я не могу понять, как правильно его напечатать. Можете ли вы мне помочь?
РЕДАКТИРОВАТЬ: следующий запрос прерывается приведенным выше кодом по странным причинам. Раньше он работал, пока я не использовал вышеупомянутую функцию, которая каким-то образом отключила эту функцию:
function haruki($post_id) {
global $post;
$thumbnail_ID = get_post_thumbnail_id();
$images = get_children( array('post_parent' => $post_id, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
if ($images) :
foreach ($images as $attachment_id => $image) :
if ( $image->ID != $thumbnail_ID ) :
$img_alt = get_post_meta($attachment_id, '_wp_attachment_image_alt', true); //alt
if ($img_alt == '') : $img_alt = $image->post_title; endif;
$big_array = image_downsize( $image->ID, 'large' );
$img_url = $big_array[0];
echo $img_url;
endif; endforeach; endif; }