如何使用post_excerpt查找帖子id?

时间:2017-11-20 作者:SoloCrowd

我知道如何使用post ID查找post\\u摘录,但是否可以使用摘录查找post ID?每次我搜索这个,都会想到如何找到ID中的post\\u摘录。感谢您的帮助。

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

你可以从摘录中获得帖子ID,但据我所知,WP_Query 不支持这一点(非常好),因此需要编写自定义WPDB查询。

function get_post_id_by_excerpt($excerpt) {
    global $wpdb;
    $result = $wpdb->get_row( 
        $wpdb->prepare("SELECT ID FROM {$wpdb->prefix}posts WHERE post_excerpt LIKE %s", $excerpt) 
    );
    return $result;
}
为此,您需要将准确的摘录(包括HTML)传递给函数

SO网友:Tom J Nowell

Via the APIs? No, 摘录不是中的选项WP_Query 这就是所有其他功能的动力。See here for a full list of options

如果您进行搜索,它会间接尝试这样做,但这也会搜索帖子内容和标题

To do this explictly you will need to do a raw SQL query, 通过$wpdb, 请记住,这可能不是一个快速的查询,我建议不要这样做

SO网友:Mark Kaplun

99%的时候这是不可能的,至少如果没有一个速度慢得可笑的算法。

原因是摘录可能会自动生成和/或清理,从而使生成的摘录与post_content 也没有post_excerpt.

当你处理手动摘录时,获得正确答案的几率可能比处理自动摘录时高得多,但人们很少添加它们。

结束

相关推荐

GetExcerpt:仅当达到字符限制时才显示省略号

我有一个名为getExcept的函数,它显示摘录的前140个字符,之后会出现一个省略号。我的模板中的调用如下: <?php echo get_excerpt(140); ?> 函数中的代码。php是:function get_excerpt($count){ $permalink = get_permalink($post->ID); $excerpt = get_the_excerpt(); $excerpt = strip_tags($e