我正在使用Word Job的WP作业管理器,目前我的主题中有以下代码可以提取作业并在我的主页上显示它们。
<?php
$jobs = get_job_listings( array(
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC'
) );
if ( $jobs->have_posts() ) { ?>
<ul>
<div class="container">
<?php while ( $jobs->have_posts() ) : $jobs->the_post(); ?>
<?php get_job_manager_template_part( 'content-widget', 'job_listing' ); ?>
<?php endwhile; ?>
</div>
</ul> <?php
//* Restore original Post Data
wp_reset_postdata();
}
?>
它很简单且有效,但我想做的只是显示来自特定国家/地区的作业。
我想在一页上列出我在英国的所有工作。所有来自德国的工作,然后在第三页上显示所有不在英国或德国的工作。
答案 0 :(得分:1)
看起来您实际上可以将search_location
传递到get_job_listings
查询中。所以对于德国来说,你可以运行这样的东西:
$jobs = get_job_listings( array(
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC',
'search_location' => 'Germany'
) );
要删除评论中显示的国家/地区,我无法将其排除在查询之外,因此我只能告诉您如何不显示它们...换句话说,这可能是一种更有效的方式这个,但我无法让它发挥作用。所以这可能会满足您的需求:
$jobs = get_job_listings( array(
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DESC',
) );
if ( $jobs->have_posts() ) { ?>
<ul>
<div class="container">
<?php while ( $jobs->have_posts() ) : $jobs->the_post(); ?>
<?php $country = get_post_meta(get_the_ID(), 'geolocation_country_short', true); ?>
<?php
if ($country == 'DE' || $country == 'NO'){
continue;
}else {
get_job_manager_template_part( 'content-widget', 'job_listing' );
}
?>
<?php endwhile; ?>
</div>
</ul> <?php
wp_reset_postdata();
}