自定义 post 类型,按元框值对分类术语进行排序
Custom post type, sort taxonomy terms by a meta box value
我已经创建了一个带有分类法的自定义 post 类型。我需要根据自定义 post 类型中的元值对分类 posts 进行排序。
我正在使用插件 Advanced Custom Fields 向我的自定义 post 类型中的 post 插入一个单独的元值字段。到目前为止我已经
能够得到 posts 分类法按其值排序。我的问题是我在前端打印出 "all" 的分类法 post。
我想获取与其相关的每个分类法的 posts,而不是全部。我一直在测试通过在
wp_query 数组但没有成功。我只是想单独显示我的分类法并获取其相关的 posts,这可能吗,我做错了什么?
这是我的代码...
<?php
get_header();
if( have_posts() ) {
?>
<section class="section container">
<div class="row">
<?php
// gets our taxonomy title
global $wp_query;
$term = $wp_query->get_queried_object();
$title = $term->name;
?>
<!-- show our taxonomy title on the front-end of the site -->
<header id="<?php echo $term->slug;?>" class="col-md-12">
<h1><a href="<?php bloginfo( 'url' ); ?>/?p=493"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span></a><?php echo $title; ?></h1>
</header>`enter code here`
<?php
// wp_query-loop for our custom post typ "Personal", sort by meta_value
$wp_query = new WP_Query(array(
'post_type' => 'Personal',
'posts_per_page' => -1,
'meta_key' => 'sorterings_nummer',
'orderby' => '$term->term_id meta_value',
'ordertax' => 'DESC',
'order' => 'ASC'
));
// gets our custom post type posts with a thumbnail, title and contact details
while( $wp_query->have_posts() ) {
$wp_query->the_post();
$class = get_field('sorterings_nummer') ? 'class="sorterings_nummer"' : '';
$titel = get_post_meta(get_the_ID(), 'titel');
$telefon = get_post_meta(get_the_ID(), 'telefon');
$mobil = get_post_meta(get_the_ID(), 'mobil');
$mail = get_post_meta(get_the_ID(), 'mail');
add_filter('the_content', 'wpautop');
?>
<article class="col-xs-6 col-sm-4 col-md-4 col-lg-3" >
<div class="align-center">
<div class="content--thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<header class="content--title">
<h2><?php the_title(); ?></h2>
</header>
<section class="content--contactDetails">
<h3 class="titel"><?php echo $titel[0] ? $titel[0]: ''; ?></h3>
<p class="telefon"><strong><a href="tel:<?php echo $telefon[0] ?>"><?php echo $telefon[0] ? $telefon[0]: ''; ?></strong></a></p>
<p>
<a class="mail" href="mailto:<?php echo $mail[0] ?>"><?php echo $mail[0] ? $mail[0]: ''; ?></a>
<a class="mobil" href="tel:<?php echo $mobil[0] ?>"><?php echo $mobil[0] ? $mobil[0]: ''; ?></a>
</p>
</section>
</div>
</article>
<?php
} // while content
?>
</div> <!-- .row -->
</section> <!-- .container -->
<?php
} // if
get_footer();
请尝试 tax_query() 检索分配给特定分类术语的帖子。
请在下面找到更新后的 $wp_query() 代码:
$wp_query = new WP_Query(array(
'post_type' => 'Personal',
'posts_per_page' => -1,
'tax_query' => array(array('taxonomy' => 'taxonomy_slug_name', 'field' => 'id', 'terms' => $term->term_id )),
'meta_key' => 'sorterings_nummer',
'orderby' => 'meta_value',
'ordertax' => 'DESC',
'order' => 'ASC'
));
请在 tax_query() 的分类栏中填写您的 'taxonomy_slug_name'。
希望对您有所帮助。
我已经创建了一个带有分类法的自定义 post 类型。我需要根据自定义 post 类型中的元值对分类 posts 进行排序。 我正在使用插件 Advanced Custom Fields 向我的自定义 post 类型中的 post 插入一个单独的元值字段。到目前为止我已经 能够得到 posts 分类法按其值排序。我的问题是我在前端打印出 "all" 的分类法 post。 我想获取与其相关的每个分类法的 posts,而不是全部。我一直在测试通过在 wp_query 数组但没有成功。我只是想单独显示我的分类法并获取其相关的 posts,这可能吗,我做错了什么?
这是我的代码...
<?php
get_header();
if( have_posts() ) {
?>
<section class="section container">
<div class="row">
<?php
// gets our taxonomy title
global $wp_query;
$term = $wp_query->get_queried_object();
$title = $term->name;
?>
<!-- show our taxonomy title on the front-end of the site -->
<header id="<?php echo $term->slug;?>" class="col-md-12">
<h1><a href="<?php bloginfo( 'url' ); ?>/?p=493"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span></a><?php echo $title; ?></h1>
</header>`enter code here`
<?php
// wp_query-loop for our custom post typ "Personal", sort by meta_value
$wp_query = new WP_Query(array(
'post_type' => 'Personal',
'posts_per_page' => -1,
'meta_key' => 'sorterings_nummer',
'orderby' => '$term->term_id meta_value',
'ordertax' => 'DESC',
'order' => 'ASC'
));
// gets our custom post type posts with a thumbnail, title and contact details
while( $wp_query->have_posts() ) {
$wp_query->the_post();
$class = get_field('sorterings_nummer') ? 'class="sorterings_nummer"' : '';
$titel = get_post_meta(get_the_ID(), 'titel');
$telefon = get_post_meta(get_the_ID(), 'telefon');
$mobil = get_post_meta(get_the_ID(), 'mobil');
$mail = get_post_meta(get_the_ID(), 'mail');
add_filter('the_content', 'wpautop');
?>
<article class="col-xs-6 col-sm-4 col-md-4 col-lg-3" >
<div class="align-center">
<div class="content--thumbnail">
<?php the_post_thumbnail(); ?>
</div>
<header class="content--title">
<h2><?php the_title(); ?></h2>
</header>
<section class="content--contactDetails">
<h3 class="titel"><?php echo $titel[0] ? $titel[0]: ''; ?></h3>
<p class="telefon"><strong><a href="tel:<?php echo $telefon[0] ?>"><?php echo $telefon[0] ? $telefon[0]: ''; ?></strong></a></p>
<p>
<a class="mail" href="mailto:<?php echo $mail[0] ?>"><?php echo $mail[0] ? $mail[0]: ''; ?></a>
<a class="mobil" href="tel:<?php echo $mobil[0] ?>"><?php echo $mobil[0] ? $mobil[0]: ''; ?></a>
</p>
</section>
</div>
</article>
<?php
} // while content
?>
</div> <!-- .row -->
</section> <!-- .container -->
<?php
} // if
get_footer();
请尝试 tax_query() 检索分配给特定分类术语的帖子。
请在下面找到更新后的 $wp_query() 代码:
$wp_query = new WP_Query(array(
'post_type' => 'Personal',
'posts_per_page' => -1,
'tax_query' => array(array('taxonomy' => 'taxonomy_slug_name', 'field' => 'id', 'terms' => $term->term_id )),
'meta_key' => 'sorterings_nummer',
'orderby' => 'meta_value',
'ordertax' => 'DESC',
'order' => 'ASC'
));
请在 tax_query() 的分类栏中填写您的 'taxonomy_slug_name'。
希望对您有所帮助。