如何确定层次结构中的下一个自定义职位

时间:2017-01-04 作者:Pratik bhatt

我需要找到next custom post type 在之后的层次结构中current post type.

有什么方法可以检测到它吗。

让我用一个例子来解释一下

我有一个名为portfolio的自定义类型。我有20个条目。

现在,我想以这样的方式对其进行编码:如果我在wp\\u post table中选择任意一个自定义post类型,即id为20的posttype,那么在这种情况下,我想在wp\\u post table中搜索下一个id,该id将具有类似post\\u type值“portfolio”。

如果你能帮我找到一个解决方案或想法,那就好了。

1 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

这里我为您编写了一个基于SQL的函数-

function the_dramatist_get_last_post($current_post_type = \'viz\', $other_post_type = \'portfolio\', $post_id = \'\', $prev = true) {
    global $wpdb;
    $order_by = $prev ? \'ASC\' : \'DESC\';
    $sign = $prev ? \'<\' : \'>\';
    $sql = $wpdb->prepare("SELECT * FROM {$wpdb->posts} AS p
                            WHERE p.post_type != %s
                            AND p.post_type LIKE %s
                            AND p.id {$sign} %d
                            ORDER BY id {$order_by}
                            LIMIT 1",
            array(
                $current_post_type,
                $other_post_type,
                $post_id
            )
    );

    return $wpdb->get_results($sql);
}
像这样使用它the_dramatist_get_last_post(\'viz\', \'portfolio\', 559, false). 它将根据最后一个参数为您提供上一篇文章和下一篇文章$prev. 如果$prevtrue 然后它会给你以前的false 然后它会给你下一个帖子。其余参数使用过于简单。希望你能很容易地理解这些。

相关推荐