我处在需要获得WP帖子(自定义帖子类型)的情况下,我所拥有的唯一信息就是它的slu ..我不知道它是什么样的自定义帖子类型,只是它是一个cpt。
这可能吗,如果可以,怎么做?
答案 0 :(得分:2)
global $wpdb;
$the_slug = 'post-slug-here'; // <-- edit it
$myrows = $wpdb->get_results( "SELECT post_name, post_type, ID FROM wp_posts WHERE post_name = '". $the_slug ."'" );
foreach ( $myrows as $myrow )
{
echo 'Post Type: ' . $myrow->post_type . ' Post ID: ' . $myrow->ID;
}
答案 1 :(得分:1)
我知道这是一个迟到的反应,但我偶然发现了这一点。小心这样的查询,因为它可以轻松地注入SQL漏洞,你可以从网址中获取slug。
答案 2 :(得分:0)
如果您确定知道在WordPress主题或插件中定义的所有自定义帖子类型,则最好使用get_page_by_path()
之类的专用功能。这样可以防止用户尝试在查询中插入SQL。
例如:
get_page_by_path( 'slug_of_the_post', OBJECT, [ 'list', 'of', 'possible', 'types' ] );