gpt4 book ai didi

wordpress - 按标题对 wordpress 帖子进行排序,忽略诸如 “the” 、 “a” 、 “an” 之类的文章

转载 作者:行者123 更新时间:2023-12-04 21:49:01 25 4
gpt4 key购买 nike

我正在按标题的字母顺序对我的帖子进行排序,如下所示:

   <?php
{
$posts = get_posts($query_string .
'&orderby=title&order=asc&posts_per_page=-1');
}
get_template_part( 'loop', 'category' );
?>

我想从排序中排除诸如“the”、“a”和“an”之类的文章。

实现这一目标的最佳方法是什么?

谢谢!

最佳答案

I don't know any simple way to do that but you can do this,



为了实现这一点,您需要添加 custom meta field到帖子。将其命名为 mytitle(比如说)。

对于您添加的新帖子,很简单,您必须在添加帖子页面的 mytitle 自定义字段中添加修改后的标题(从标题中删除 a、an、the)。

对于旧帖子,它有点棘手,您必须编写一个 php 代码来检索帖子的标题,使用 php preg_replace 从它们中删除 'a','an','the' 并将其添加到您的 wordpress 的 postmeta 表中使用这样的数据库:
<?php //inside loop   
$query=INSERT INTO xyz_postmeta (post_id, meta_key, meta_value) VALUES ($postid, 'mytitle' $title);
$wpdb->query('$query'); ?>

其中 $postid 是循环内的帖子 ID,$title 是您修改后的标题。

Now you have updated all the previous posts with custom mytitle field.



现在要显示,您必须使用自定义循环(不是主题中包含的循环)。

以下是如何制作一个基本的自定义循环来显示按 mytitle 排序的帖子。
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'mytitle'
AND wposts.post_type = 'post'
AND wposts.post_status = 'publish'
ORDER BY wpostmeta.meta_value ASC
";

现在您可以通过任何您想要的方式执行查询。 Wordpres 提供了各种方法来做到这一点。 Here's a link

例如你可以做这样的事情
$pageposts = $wpdb->get_results($querystr, OBJECT);
foreach ( $pageposts as $pagepost )
{
echo $pagepost->post_title;
//do other stuff to display content, meta etc..
}

关于wordpress - 按标题对 wordpress 帖子进行排序,忽略诸如 “the” 、 “a” 、 “an” 之类的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com