在PHP中过滤listify(WP主题)中的帖子

时间:2017-11-14 15:01:37

标签: php wordpress

我使用名为Listify的WP主题和一个插件WP Job Manager来为我的业务创建一个超级快速的MVP。我从来没有做过PHP,但我需要做出很快的改动,而且经过大量的谷歌搜索后我无法解决我的问题:(

目标:我尝试进行逆过滤,用户提供2个日期,$start_date$end_date。该函数需要返回一系列作业列表' id在用户的指定日期中有$start_date$end_date 。 (这是整个if条件部分)。

问题: 1)我无法获取工作列表的ID,2)我无法访问end_datestart_date每个职位列表,我自定义添加。

当然,因为我自定义添加了end_datestart_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文件,但是我找不到任何基本的函数声明。由于它是一个受欢迎的插件,我在这里问,但请指出我的方向。感谢。

0 个答案:

没有答案