使用类别中的自定义内容(_C)

时间:2018-03-07 作者:MIke

如何使用in_category 虽然使用父类别作为参数,并且只选择该类别上的子类别。

在我的帖子中,我没有选择父类别,因此它会显示永久链接/%category%/%postname%/ 如果选择父类别和子类别,则不会在永久链接上显示所需的子类别。如果只需在常规设置中操纵永久链接就可以实现这一点,那么它也可以完成这项工作。

类别

子类别1

子类别2

子类别3

CODE:

   <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <article>
            <section>
                <?php if (in_category(\'category\')) { ?>     
                    <?php the_content(); ?>
                <?php } ?>
            </section>
        </article> 
    <?php endwhile; ?>          
    <?php else : ?>
    <?php endif; ?>

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

in_category() 接受要检查的类别数组。因此,如果您可以获得要检查的父类别的所有子类别的列表,您可以使用该列表查看您的帖子是否在其中任何一个类别中。

您可以使用get_categories() 并指定parent. 这将获得作为给定类别直接子级的所有类别。如果您还指定fieldsids 你可以拿到他们的身份证,这对你来说会更好in_category():

<?php
$categories = get_categories( array(
    \'parent\' => 123,
    \'fields\' => \'ids\',
) );

if ( in_category( $categories ) ) : ?>
    // Content here
<?php endif; ?>
如果您只有父类别的slug,则需要使用get_term_by() 要获取用作父参数的ID,请执行以下操作:

<?php
$parent = get_term_by( \'slug\', \'category-slug\', \'category\' );

$categories = get_categories( array(
    \'parent\' => $parent->term_id,
    \'fields\' => \'ids\',
) );

if ( in_category( $categories ) ) : ?>
    // Content here
<?php endif; ?>

结束

相关推荐

有没有可能在不使用wp-config.php、.htaccess或php.ini中的指令的情况下增加php内存?

我使用的插件由于内存不足而崩溃。但我所在的主机(万神殿)使用git在开发服务器(我有FTP访问权限)和实时服务器(我没有FTP或SSH访问权限)之间进行文件更新。我无法更改wp配置。php和提交文件,因为Dev和Live之间的数据库详细信息不同。php。不允许使用ini文件和中的PHP指令。不允许htaccess。如何为Live增加PHP内存?我可以在主题文件中添加指令吗?类似功能。php?这对插件内存有效吗?