我正在使用自己的主题开发wordpress:
我有一个名为展览的页面,在这个页面上我有两个类别:'目前'和预览'。
当我发布文章时,我想选择其中一个类别,其中将显示帖子的标题(永久链接)。类别不是按钮,它们只是标题'不同职位的来源。
我制作了一个名为exhibition.php的模板文件(见下面的代码),该文件应用于我在Wordpress中的展览页面。我不知道如何调用该函数来显示类别名称,然后将该类别归因于我的帖子,最后将其显示在页面上。
我添加一张图片来描绘我正在写的内容。
如果有人知道如何构建该功能,我们将非常感谢您的帮助!
由于
的 exhibition.php
<div class="container">
<?php $cat_1_args = array("cat" => $cat_1_id);
$cat_1_query = new WP_Query($cat_1_args);?>
<?php if($cat_1_query->have_posts()): ?>
<h1><?php get_cat_name($cat_1_id);?>
<?php while($cat_1_query->have_posts()):?>
<?php $cat_1_query->the_post();?>
<a href="<?php the_permalink(); ?>"><?php $first = str_replace(' | ', '<br />', get_the_title()); echo str_replace('REPLACE_ME', '<i>REPLACE_ME</i>', $first);?></a>
<?php endwhile;?>
</div>
<?php endif; ?>
HTML输出结果
<div class="container">
<h1> <a href="http://temporarygallery.org/do-not-remove-this-folder/nouvelle-exposition-2/">BOOK LAUNCH & KÜNSTLERGESPRÄCH</a>
<a href="http://temporarygallery.org/do-not-remove-this-folder/alleinanspruch/">PARKFIELD STUDIES<br />Marianna Christofides<br /><i>27 August – 30 August 2017</i></a>
<a href="http://temporarygallery.org/do-not-remove-this-folder/second-post-test/">RESPAWN<br />Eloïse Bonneviot, Anne de Boer<br /><i>4 July – 30 July 2017</i></a>
<a href="http://temporarygallery.org/do-not-remove-this-folder/third-post-test/">THE COMMON TOAD<br />Victoria Adam<br /><i>27 Mai – 30 Juli 2017</i></a>
<a href="http://temporarygallery.org/do-not-remove-this-folder/fourth-post-test/">ALLEINANSPRUCH<br />Arne Schmitt, Nico Joana Weber<br /><i>4 Februar – 30 April 2017</i></a>
</div>
&#13;
答案 0 :(得分:0)
要获取类别名称,您需要使用get_cat_name($cat_id)
。请注意,您需要$cat_id
才能获得单个类别中的所有帖子。我还将所有内容分成两个查询(和两个循环),每个类别一个。看起来应该是这样的:
<?php $cat_1_args = array("cat" => $cat_1_id);
$cat_1_query = new WP_Query($cat_1_args);?>
<?php if($cat_1_query->have_posts()): ?>
<h1><?php get_cat_name($cat_1_id);?></h1>
<?php while($cat_1_query->have_posts()):?>
<?php $cat_1_query->the_post();?>
<a href="<?php the_permalink(); ?>"><?php $first = str_replace(' | ', '<br />', get_the_title()); echo str_replace('REPLACE_ME', '<i>REPLACE_ME</i>', $first);?></a>
<?php endwhile;?>
然后为第二类做同样的事情。
答案 1 :(得分:0)
我认为你正试图在这里重新制造轮子。
有一个插件可以完成你想要达到的目标:List category posts
无需为您的页面创建自定义模板,只需插入插件提供的短代码(使用正确的属性),只需要一些CSS来自定义渲染以匹配您的主题(您甚至可以自定义模板I相信)。