Я не могу вывести new WP_Query( $args );
когда нахожусь на странице пользователя
На всех других страницах все работает нормально.
Я проверил что хранится в переменой
WP_Query Object ( [query] => Array ( [posts_per_page] => 25 [post_type] => post ) [query_vars] => Array ( [posts_per_page] => 25 [post_type] => post [error] => [m] => [p] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [name] => [static] => [pagename] => [page_id] => 0 [second] => [minute] => [hour] => [day] => 0 [monthnum] => 0 [year] => 0 [w] => 0 [category_name] => [tag] => [cat] => [tag_id] => [author] => [author_name] => [feed] => [tb] => [paged] => 0 [meta_key] => [meta_value] => [preview] => [s] => [sentence] => [title] => [fields] => [menu_order] => [embed] => [category__in] => Array ( ) [category__not_in] => Array ( ) [category__and] => Array ( ) [post__in] => Array ( ) [post__not_in] => Array ( ) [post_name__in] => Array ( ) [tag__in] => Array ( ) [tag__not_in] => Array ( ) [tag__and] => Array ( ) [tag_slug__in] => Array ( ) [tag_slug__and] => Array ( ) [post_parent__in] => Array ( ) [post_parent__not_in] => Array ( ) [author__in] => Array ( ) [author__not_in] => Array ( ) [tax_query] => Array ( [0] => Array ( [taxonomy] => language [field] => term_taxonomy_id [terms] => 5 [operator] => IN ) ) [update_post_term_cache] => 1 [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [lazy_load_term_meta] => 1 [update_post_meta_cache] => 1 [nopaging] => [comments_per_page] => 50 [no_found_rows] => [taxonomy] => language [term_id] => 5 [order] => DESC ) [tax_query] => WP_Tax_Query Object ( [queries] => Array ( [0] => Array ( [taxonomy] => language [terms] => Array ( [0] => 5 ) [field] => term_taxonomy_id [operator] => IN [include_children] => 1 ) ) [relation] => AND [table_aliases:protected] => Array ( [0] => wp_term_relationships ) [queried_terms] => Array ( [language] => Array ( [terms] => Array ( [0] => 5 ) [field] => term_taxonomy_id ) ) [primary_table] => wp_posts [primary_id_column] => ID ) [meta_query] => WP_Meta_Query Object ( [queries] => Array ( ) [relation] => [meta_table] => [meta_id_column] => [primary_table] => [primary_id_column] => [table_aliases:protected] => Array ( ) [clauses:protected] => Array ( ) [has_or_relation:protected] => ) [date_query] => [request] => SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (5) ) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_author = 3 AND wp_posts.post_status = 'private') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 25 [posts] => Array ( ) [post_count] => 0 [current_post] => -1 [in_the_loop] => [comment_count] => 0 [current_comment] => -1 [found_posts] => 0 [max_num_pages] => 0 [max_num_comment_pages] => 0 [is_single] => [is_preview] => [is_page] => [is_archive] => [is_date] => [is_year] => [is_month] => [is_day] => [is_time] => [is_author] => [is_category] => [is_tag] => [is_tax] => [is_search] => [is_feed] => [is_comment_feed] => [is_trackback] => [is_home] => 1 [is_privacy_policy] => [is_404] => [is_embed] => [is_paged] => [is_admin] => [is_attachment] => [is_singular] => [is_robots] => [is_posts_page] => [is_post_type_archive] => [query_vars_hash:WP_Query:private] => af12714c344c8930734718157a4205b7 [query_vars_changed:WP_Query:private] => 1 [thumbnails_cached] => [stopwords:WP_Query:private] => [compat_fields:WP_Query:private] => Array ( [0] => query_vars_hash [1] => query_vars_changed ) [compat_methods:WP_Query:private] => Array ( [0] => init_query_flags [1] => parse_tax_query ) )
Но я не понимаю почему так происходит в новой версий,
в версий 16.1.5 все работало нормально.
Я проверил на разных темах и результат один и тот же.
Есть ли у кого идеи?
я пытаюсь вывести свою новостную ленту через шорт код
add_shortcode ('content','user_content'); function user_content(){ if ( get_query_var('paged') ) $paged = get_query_var('paged'); elseif ( get_query_var('page') ) $paged = get_query_var('page'); else $paged = 1; global $user_LK; $id_use = array($user_LK); $args = array( 'posts_per_page' => 10, 'post_type' => 'post', 'paged' => $paged , 'author__in' => $id_use ); $custom_query = new WP_Query( $args ); if ( $custom_query->have_posts() ) { $all_user_post = ' '; while( $custom_query->have_posts() ) { $custom_query->the_post(); $all_user_post.= '<li class="title"><a href="'. get_permalink() .'">'. get_the_title().'</a></li>'; } $user_pagination_post.= '<div class="pagination">'; $big = 999999999; // need an unlikely integer $user_pagination_post.= paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $custom_query ->max_num_pages , 'prev_text' => ('←'), 'next_text' => ('→'), 'end_size' => 1, 'mid_size' => 2 ) ); $user_pagination_post.='</div>'; } else { $all_user_post = 'null'; } wp_reset_query(); $html.= '<div class="menu"><div class="content">'.$all_user_post.'</div><div class="paginate">'.$user_pagination_post.'</div></div>'; return $html; }
Но почему-то он нечего не находит
В старых версия такого не было
query_posts() или get_posts() не подойдет.
Я знаю о стандартной ленте новостей wp-recall и она тоже не подходит.
Потому что я создаю свою собственную ленту.
немного упростил приведенный шорткод
add_shortcode( 'content', 'user_content' ); function user_content() { global $user_LK; $args = array( 'posts_per_page' => 10, 'post_type' => 'post', 'author__in' => array( $user_LK ) ); $custom_query = new WP_Query( $args ); if ( $custom_query->have_posts() ) { $all_user_post = ' '; while ( $custom_query->have_posts() ) { $custom_query->the_post(); $all_user_post.= '<li class="title"><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>'; } } return $all_user_post; }
проверил у себя, все работает
проверил у себя, все работает
Ну а у меня он нечего не выводит
не понятно зачем это, если ленту последних публикаций пользователя можно получить на его архивной странице, например, через шаблон author.php, там уже все данные получены, осталось их только вывести
Ну я хочу вывести ленту новостей во вкладке на странице пользователя со своим собственными css и html кодом
Да только почему то у меня шорткод не работает только на странице пользователя
Во всех остальных частях сайта он работает как надо.
И это очень странно. И в предыдущей версий такого у меня не было.
zeni1agent сказал(а)
Вы не знаете где скачать версию 16.1.5 для сравнения?
Так Git https://github.com/plechev-64/wp-recall/commits/master?after=da39e51eded9bba45f8950fdc73b3a040280c7c6+244 только 16.1.1 или 16.2.0 - но 2 года прошло. Старьё однако. Никто поддерживать это не будет.