我使用名为Listify的WP主题和一个插件WP Job Manager来为我的业务创建一个超级快速的MVP。我从来没有做过PHP,但我需要做出很快的改动,而且经过大量的谷歌搜索后我无法解决我的问题:(
目标:我尝试进行逆过滤,用户提供2个日期,$start_date
和$end_date
。该函数需要返回一系列作业列表' id
在用户的指定日期中有$start_date
和$end_date
。 (这是整个if条件部分)。
问题: 1)我无法获取工作列表的ID,2)我无法访问end_date
和start_date
每个职位列表,我自定义添加。
当然,因为我自定义添加了end_date
和start_date
,我知道这些字段名为start_date
,并且它们属于每个列表。但是我如何访问它?假设job_listing
是java中的对象,我该如何访问其字段?我的访问($listing->get_object()->start_date
)错了吗?以下是我的完整代码。
function get_listings_outside_date( $start_date, $end_date ) {
$post_ids = array();
foreach(get_job_listings() as $listing) {
if( ($listing->get_object()->start_date < $start_date ||
$listing->get_object()->start_date > $end_date) && ($listing-
>get_object()->end_date < $start_date || $listing-
>get_object()->end_date > $end_date ) {
$post_ids[] = $listing;
}
}
return $post_ids;
}
add_filter( 'facetwp_facet_filter_posts', function( $return, $params ){
$selected_values = $params['selected_values'];
if ( 'availability' == $params['facet']['name'] ) {
$start_date = $selected_values[0];
$end_date = $selected_values[1];
// get post IDs of available listings outside these dates
$post_ids = get_listings_outside_date( $start_date, $end_date
);
return $post_ids;
}
return $return;
}, 10, 2 );
我查看了theme / plugin的文档和function.php文件,但是我找不到任何基本的函数声明。由于它是一个受欢迎的插件,我在这里问,但请指出我的方向。感谢。