我设法整合了一个自定义分类法插件:
- 根据选择的类别对工作人员进行过滤。
我希望它首先显示该部门,然后显示其他部门而不是该部门本身(现在如何)。
这是链接: http://crippslawtest.co.uk/people/
这是我的Wordpress循环:
<div class="staffwrapper">
<?php
$args = array( 'post_type' => 'cripps_staff', 'posts_per_page' => 300 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo '<div class="col-md-3 spacetop">';
echo '<a href="'.get_permalink().'">';
echo '<img src="';
echo get_post_meta($post->ID,'image',true);
echo '">';
echo '</a>';
echo '<h2 class="staffname">';
echo get_post_meta($post->ID,'staff_name',true);
echo '</h2>';
echo '<h2 class="staffrole">';
echo get_post_meta($post->ID,'staff_role',true);
echo '</h2>';
echo '<h2 class="staffnumber">';
echo get_post_meta($post->ID,'staff_telephone_number',true);
echo '</h2>';
echo '<h2 class="staffemail">';
echo get_post_meta($post->ID,'staff_email_address',true);
echo '</h2>';
echo '</div>';
endwhile;
?>
</div><!--End of staff wrapper-->
在结果页面(search-people.php)上,我使用此链接中的信息添加了第二个WP查询: http://codex.wordpress.org/Class_Reference/WP_Query#Methods_and_Properties
这是为了显示所有其他可用的帖子。我需要$ args2的数组:“显示我的员工自定义帖子中的所有其他帖子”
这是我的尝试:
//2nd loop
wp_reset_postdata();
$args2 = array(
'post_type' => 'cripps_staff',
'posts_per_page' => '300'
);
$query2 = new WP_Query( $args2 );
while( $query2->have_posts() ) {
$query2->next_post();
echo '<div class="col-md-3 spacetop">';
echo '<a href="'.get_permalink().'">';
echo '<img src="';
echo get_post_meta($post->ID,'image',true);
echo '">';
echo '</a>';
echo '<h2 class="staffname">';
echo get_post_meta($post->ID,'staff_name',true);
echo '</h2>';
echo '<h2 class="staffrole">';
echo get_post_meta($post->ID,'staff_role',true);
echo '</h2>';
echo '<h2 class="staffnumber">';
echo get_post_meta($post->ID,'staff_telephone_number',true);
echo '</h2>';
echo '<h2 class="staffemail">';
echo get_post_meta($post->ID,'staff_email_address',true);
echo '</h2>';
echo '</div>';
wp_reset_postdata();
}
这是在我的结果页面上创建重复,同一帖子重复6次!我已经花了很长时间才能做到这一点,请帮助:S它应该显示“来自Cripps_Staff的所有其他帖子”
经过数小时的研究,我知道这与在我的search-people.php中添加一个双数组有关,就像:
$args2 = array(
'post_type' => 'cripps_staff',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'Department',
'terms' => array( 'accounting', 'Corporate' )
),
array(
'taxonomy' => 'role',
'field' => 'id',
'terms' => array( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ),
'operator' => 'IN'
)
)
);
但我不能为我的生活找出如何正确组织它,任何想法?在那里有任何Wordpress福音传教士吗?
我试过这个,非常接近!!!什么是检索?
$args2 = array(
'post_type' => 'cripps_staff',
'tax_query' => array(
array(
'taxonomy' => 'Department',
'operator' => 'NOT IN'
)
)
);
答案 0 :(得分:2)
我会进行 2次查询,一次针对当前部门,另一次针对其他部门(不包括当前部门)。
或者,由于$loop
是包含所有查询结果的对象,因此您可以从那里提取和删除当前部门。
当然,在Codex中,您可以找到有关如何过滤查询的所有详细信息: http://codex.wordpress.org/Class_Reference/WP_Query
此外,我建议您不要重复get_post_meta
而是使用get_post_custom
:
https://codex.wordpress.org/Function_Reference/get_post_custom