【问题标题】:WordPress – Display Posts whose Title Starts with a Certain LetterWordPress – 显示标题以某个字母开头的帖子
【发布时间】:2018-07-13 02:41:16
【问题描述】:

我正在开发一个 WordPress 网站,但在查询以某个字母开头的帖子时遇到问题。

这就是我想要完成的:

使用简单的循环,例如:

<?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();

我收到所有帖子:

您认为我可以如何编辑循环以仅获取标题以某个字母开头的帖子?

【问题讨论】:

    标签: php wordpress loops


    【解决方案1】:

    试试

       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
            ?>
    

    这是区分大小写的,如果你愿意,你可以strtolower() the_title() 和你的信

    如果你想遍历字母表,你可以遍历 97 到 122,这是小写字母的 ascii,然后使用 chr() 将其转换为字母

    【讨论】:

    • 这似乎不起作用......当我添加这个时,WordPress 只回显标题。
    • 这是因为 the_title() 打印它,我已经更新以使用 get_the_title() 尝试一下,我还应该指出这是非常低效的更有效的方法是订购查询并按字母顺序输出 HTML
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    相关资源
    最近更新 更多