Wordpress - 如何通过slug获得自定义帖子类型?

问题描述 投票:1回答:3

我正处于需要获得WP帖子(自定义帖子类型)的情况下,我所拥有的唯一信息就是它的slu ..我不知道它是什么样的自定义帖子类型,只是它是一个cpt。

这可能吗,如果可以,怎么做?

wordpress slug
3个回答
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
投票

我知道这是一个迟到的反应,但我偶然发现了这一点。小心这些查询,因为它可以轻松地注入SQL漏洞,你可以从网址中获取slug。


0
投票

如果您确定知道WordPress主题或插件中定义的所有自定义帖子类型,那么最好使用像get_page_by_path()这样的专用函数。它将阻止用户尝试在查询中注入SQL。

例如 : get_page_by_path( 'slug_of_the_post', OBJECT, [ 'list', 'of', 'possible', 'types' ] );

code reference of the function

© www.soinside.com 2019 - 2024. All rights reserved.