function relevanssi_post_ok($doc)
 {
     static $set_listed_ids = false;
     if (!$set_listed_ids) {
         $set_listed_ids = true;
         $GLOBALS['scoper']->listed_ids['post'] = array_fill_keys(array_keys($this->relevanssi_results), true);
     }
     if (function_exists('relevanssi_s2member_level')) {
         if (relevanssi_s2member_level($doc) == 0) {
             return false;
         }
         // back compat with relevanssi_default_post_ok, in case somebody is also running s2member
     }
     $status = relevanssi_get_post_status($doc);
     if (in_array($status, $this->valid_stati)) {
         $post_ok = current_user_can('read_post', $doc);
     } else {
         $post_ok = false;
     }
     return $post_ok;
 }
function relevanssi_get_post_status($id)
{
    global $relevanssi_post_array;
    $type = substr($id, 0, 2);
    if ($type == 't_') {
        return 'publish';
    }
    if ($type == 'u_') {
        return 'publish';
    }
    if (isset($relevanssi_post_array[$id])) {
        $status = $relevanssi_post_array[$id]->post_status;
        if ('inherit' == $status) {
            $parent = $relevanssi_post_array[$id]->post_parent;
            $status = relevanssi_get_post_status($parent);
            if ($status == false) {
                // attachment without a parent
                // let's assume it's public
                $status = 'publish';
            }
        }
        return $status;
    } else {
        return get_post_status($id);
    }
}
예제 #3
0
function relevanssi_get_post_status($id)
{
    global $relevanssi_post_array;
    if (isset($relevanssi_post_array[$id])) {
        $status = $relevanssi_post_array[$id]->post_status;
        if ('inherit' == $status) {
            $parent = $relevanssi_post_array[$id]->post_parent;
            $status = relevanssi_get_post_status($parent);
        }
        return $status;
    } else {
        return get_post_status($id);
    }
}