我有一个ajax调用,该调用应显示onclick类别中的第一个自定义帖子。我的代码似乎设置正确,但似乎无法获得该职位。这是我的代码:
bind C-b 1
答案 0 :(得分:0)
是的,因此我的代码设置不正确...这是在自定义类别中获取第一条自定义帖子的正确方法:
add_action( 'wp_ajax_nopriv_load-products-default', 'prefix_load_default_cat_posts' );
add_action( 'wp_ajax_load-products-default', 'prefix_load_default_cat_posts' );
function prefix_load_default_cat_posts(){
$slug = $_POST['cat'];
// echo $slug;
$args = array(
'post_type' => 'products',
'posts_per_page' => 1,
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'brand',
'field' => 'slug',
'terms' => $slug
),
),
);
$q = new WP_Query($args);
if( $q->have_posts()):
while( $q->have_posts()):
$q->the_post();
the_title();
endwhile;
endif;
die();
}
?>
答案 1 :(得分:0)
tax_query takes an array of tax query arguments arrays (it takes an array of arrays) but you are using only single array. The correct code is as following
add_action( 'wp_ajax_nopriv_load-products-default',
'prefix_load_default_cat_posts' );
add_action( 'wp_ajax_load-products-default', 'prefix_load_default_cat_posts' );
function prefix_load_default_cat_posts(){
$slug = $_POST['cat'];
$categories = get_terms(array('tshirt'),array('hide_empty' => false));
foreach( $categories as $cat )
{
$args = array(
'post_type' => 'products',
'posts_per_page' => 1,
'tax_query' => array( array('taxonomy' => 'tshirt','field' => 'slug',
'terms' => $slug)));
$q = new WP_Query($args);
if( $q->have_posts()):
while( $q->have_posts()):
$q->the_post();
echo 'post here';
endwhile;
endif;
}
}