网站优化

网站优化

Products

当前位置:首页 > 网站优化 >

WordPress - 显示标题以某个字母开头的帖子

GG网络技术分享 2025-03-18 16:12 2


问题描述:

I\'m working on a WordPress site, and I\'m having trouble querying posts that start with a certain letter.

This is what I am trying to accomplish:

This is what I am trying to accomplish.

Using a simple loop such as:

<?php get_header(); ?>

<h2>Library</h2>

<ul class=\"library-grid\">

<?php

$args = array(

\'post_type\' => \'post\'

);

$post_query = new WP_Query($args);

if($post_query->have_posts() ) {

while($post_query->have_posts() ) {

$post_query->the_post();

?>

<li class=\"library-item\">

<img src=\"<?php the_field(\'poster\') ?>\" alt=\"<?php the_title() ?> poster\" class=\"library-poster\">

<div class=\"library-item-footer-diagonal\"></div>

<div class=\"library-item-footer\">

<h3 class=\"library-title\"><a href=\"<?php the_permalink() ?>\"><?php the_title() ?></h3></a></h3>

<a href=\"<?php the_permalink() ?>\" class=\"more-info-button\">More info</a>

</div>

</li>

<?php

}

}

?>

</ul>

<?php

get_footer();

I get all posts:

I get all posts.

How do you think I could edit the loop to get only posts whose title starts with a certain letter?

网友观点:

try

   if($post_query->have_posts() ) {

while($post_query->have_posts() ) {

$post_query->the_post();

if(get_the_title()[0] != \\\"a\\\") continue; //so it only shows titles starting with lower case a

?>

this is case sensitive, if you want you can strtolower() the_title() and your letter

if you want to loop throught the alphabet, you can loop through 97 to 122 which is the ascii for the lowercase alphabet and use chr() to convert it to a letter

标签:

提交需求或反馈

Demand feedback