自定义帖子类型在三列中从A到Z列表

时间:2019-02-14 作者:Emma B

我想在三列中显示自定义的文章类型A到Z索引,但它只是在三列中列出每个字母表下的第一篇文章,我认为循环有一些问题,但无法解决它

代码如下所示:

<div class="container">
    <div class="row">
        <div class="serviceproviders-inner-content haslayout">
<h2>A to Z Medication Guide </h2>
<?php

$query = new WP_Query(array(
                        \'post_status\'   => \'publish\',
                        \'post_type\'     => \'medicines\',
                        \'orderby\'       => \'title\',
                        \'order\'         => \'ASC\',
                        \'posts_per_page\'    => -1
                        ));

$post_count = $query->post_count;
$posts_per_column = ceil($post_count / 4);      

$rows = array();                                            
$count = 0;

while ($query->have_posts())

{ 
    $query->the_post(); 

    if($rows[$count] == "" ) { $rows[$count] = \'<div class="row">\'; }




        If ($letter != strtoupper(get_the_title()[0]))
        {
                // echo ($letter != \'\') ? \'</ul></div>\' : \'\';
                 $letter = strtoupper(get_the_title()[0]);  

        $rows[$count] = $rows[$count] .  \'<div class="col-sm-3">\' .  \'<h4>\'.strtoupper(get_the_title()[0]).\'</h4>\' .\'<div class="post-title">\'. \'<li><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></li>\' . \'</div></div>\';  
        $count++;                           

        }   

        if ($count == $posts_per_column ) { $count = 0; } 


}
foreach ($rows as $row) { echo $row . \'</div>\'; }
?>
</div>
        </div>
    </div> 

1 个回复
SO网友:Krzysiek Dróżdż

问题在于这一行:

$rows[$count] = $rows[$count] .  \'<div class="col-sm-3">\' .  \'<h4>\'.strtoupper(get_the_title()[0]).\'</h4>\' .\'<div class="post-title">\'. \'<li><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></li>\' . \'</div></div>\';
正如我正确理解您的代码一样,它应该在给定行中附加另一个列项。

但它并没有做到这一点——它用当前列覆盖给定行的内容。

所以应该是这样的(.= 而不是=):

$rows[$count] .= $rows[$count] .  \'<div class="col-sm-3">\' .  \'<h4>\'.strtoupper(get_the_title()[0]).\'</h4>\' .\'<div class="post-title">\'. \'<li><a href="\'.get_permalink().\'">\'.get_the_title().\'</a></li>\' . \'</div></div>\';
附言:你写了你想要3列,但在你的代码中你用4除-但这可能只是一个输入错误。

相关推荐

Modals using loops and ACF

我试图制作一个页面,查询特定类别(“景点”)的每一篇帖子。我已经能够成功地获得帖子,我只需要让modals工作。我在我的循环中做了一个按钮,它的标题是循环所在的任何帖子。我希望这样,每当人们单击该按钮时,它就会打开一个模式,显示代码中ACF I列表中的所有字段。不过,我有一些问题。由于某种原因,我无法让javascript正常工作。现在都在页面模板文件中,但我已经尝试通过函数将脚本排队。php等。我的猜测是,我正在尝试制作文档。getElementsByClassName而不是documents。getE