WordPress按字母A-Z自定义发布类型发布结果显示

时间:2019-03-07 作者:Gayal cham

如何显示WordPress自定义帖子类型结果(按字母或分页)?例如,我有一个名为“无家可归”的帖子类型。无家可归者项下有50个州(类别)。阿肯色州共有259家上市公司。我想显示阿肯色州类别中的字母a-z。例如,如果有人单击字母“B”,则会显示“阿肯色州”下的所有列表都以字母“B”开头。有人能对此提出建议或php代码吗?。请看图片。谢谢你,并致以亲切的问候。enter image description here

1 个回复
SO网友:WebElaine

如果您不想硬编码字母表链接,另一种选择是(即,如果没有帖子以字母开头,那么该字母根本不会显示在分页中)。

// Always show pagination
// First, grab all posts.
$posts = get_posts(array(
    \'numberposts\' => -1,
    \'post_type\' => \'homeless\',
    \'orderby\' => \'title\',
    \'order\' => \'ASC\'
));
// Next, grab the first letter of each title.
$firstLetters = array();
foreach($posts as $post) {
    $title = $post->post_title;
    $startingLetter = substr($title, 0, 1);
    $dupeFirstLetters[] = $startingLetter;
    // Remove duplicates
    $firstLetters = array_unique($dupeFirstLetters);
    // Alphabetize
    sort($firstLetters);
}
foreach($firstLetters as $letter) {
    // Output the letter pagination, only for letters that have posts
    echo "<a href=\\"?letter=$letter\\">$letter</a>";
}
// If there is a request for a specific "letter" in the query string
if(!empty($_GET[\'letter\'])) {
    $letter = $_GET[\'letter\'];
}
// Else, default to showing the first found letter
// i.e. A if there are any post titles starting with A
else {
    $letter = $firstLetters[0];
}
// Finally, run a custom query to display the posts - see Max\'s link #1 above for specifics
然后,您可以运行查询,只提取以该字母开头的帖子,并根据需要显示它们。

相关推荐

Post in multiple categories

我尝试在多个类别中列出帖子。管理面板中一切正常。我进入所有帖子,选择所需的帖子,然后进入编辑并选择一个类别。保存更改后,在“类别”选项卡下会写入旧类别和新类别。现在,当我访问网站并选择更新类别时,只有旧帖子,没有新帖子。例如:我有类别:电影、游戏、最佳和帖子:最佳电影、最佳游戏、最佳,我需要这样:最佳电影属于电影类别最佳游戏属于游戏类别,两者都属于最佳类别我使用日期和职位名称作为永久链接。