我尝试使用提供的代码,但它仍然没有工作...... 它只在更新到wordpress 4.8.2后才开始出问题 我复制了以下parte的代码,我关闭了foreach和if ... 使用Wordpress 4.7.6完美运行... 任何的想法? 非常感谢您的帮助!
jj
答案 0 :(得分:0)
使用'ignore_sticky_posts'
代替'caller_get_posts'
。
您可以参考this page更新您的查询
答案 1 :(得分:0)
我不知道你的要求,但我认为你没有关闭foreach循环,如果有条件,而且我认为你需要提前分配给帖子的自定义字段值为你应该使用
wp_get_post_categories( int $post_id, array $args = array() )
在你的while循环中。希望这有帮助。
你应该使用" ignore_sticky_posts"而不是" caller_get_posts"
答案 2 :(得分:0)
使用以下代码。
<?php
$cat_array = array();
$args = array(
'post_type' => 'post',
'posts_per_page' => 9,
'ignore_sticky_posts' => 1
);
$my_query = null;
$my_query = new WP_Query($args);
if ($my_query->have_posts())
{
while ($my_query->have_posts()):
$my_query->the_post();
$cat_args = array(
'orderby' => 'none'
);
$cats = wp_get_post_terms($my_query->post->ID, 'category', $cat_args);
foreach($cats as $cat)
{
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
wp_reset_postdata();
}
if ($cat_array)
{
foreach($cat_array as $cat)
{
$category = get_term_by('ID', $cat, 'category');
$slug = get_term_link($category, 'category');
$id = $category->term_id;
$valore = "category_" . $id;
$colore = get_field('colore_categoria', $valore);
$immagine = get_field('immagine_ispirazione', $valore);
$testo_box = get_field('testo_box', $valore);
}
}
?>
享受