创建多个 Wordpress 类别 div

Posted

技术标签:

【中文标题】创建多个 Wordpress 类别 div【英文标题】:Creating multiple Wordpress category divs 【发布时间】:2015-08-11 16:37:02 【问题描述】:

我有一个使用图像替换类别文本的 Wordpress 网站。它被设置为有一个后 div(填充:20% 0;为了一致的响应高度)然后有一个绝对定位的 div,垂直/水平居中在这个 div 上方。

html

<div class="indx-img" style="background-image:url('...');">

        <?php 
        $testStyle = "";

        if(has_category( 'update' ) || has_category( 'uncategorized' )) 
            $testStyle = "style=\"background-image:url('".get_bloginfo('template_directory')."/img/logo.png')\"";
         elseif(has_category( 'event' )) 
            $testStyle = "style=\"background-image:url('".get_bloginfo('template_directory')."/img/logo.png')\"";
        
        ?>

            <div class="test" <?php echo $testStyle; ?>></div>

</div>

CSS

.indx-img 
  position: relative;
  padding: 20% 0;


.test 
   position: absolute;
   left: 50%;
   margin-left: -5em;
   transform: translateY(-50%);
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
  height: 10em;
  width: 10em;

这是一张用于测试的背景图片。这样做的问题是,如果帖子上有多个类别,则只会显示一个。

理想情况下,我希望在“测试”中为每个应用到帖子的类别创建一个 div,类别图像彼此相邻对齐。

【问题讨论】:

一个问题:为什么ifelseif中的陈述相同?如果这就是他们应该的样子,那么我认为使用if-elseif 毫无意义。一个if 就足够了。 他们会改变,现在他们是这样的,只是为了确保它有效,最后会有超过2个语句,每个会有不同的图片 【参考方案1】:

根据您的代码,我猜您的 HTML div 代码正在为单个帖子运行。当您使用 has_category 检查单个类别时,它只会为您提供类别。

要获取任何帖子的所有类别,您需要wp_get_post_categories 函数。

$post_categories = wp_get_post_categories( $post_id );
$cats = array();

foreach($post_categories as $c)
    $cat = get_category( $c );
    $cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );

通过这种方式,您可以获得类别列表并可以相应地放置应用样式代码。有关wp_get_post_categories 用法的更多详细信息,请参阅https://codex.wordpress.org/Function_Reference/wp_get_post_categories。

【讨论】:

甜蜜,这似乎是正确的轨道,是否有任何其他来源提供您遇到的示例来进一步解释它? codex.wordpress.org 这本身就是 wordpress 社区,您可以通过参数和用法获取所有函数的详细信息,而不是每个函数的原始定义,您可以随时根据您的要求将其与代码一起使用,并且由于都有不同的要求,因此您很难获得所需的确切代码

以上是关于创建多个 Wordpress 类别 div的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 类别模板 - 具有多个类别的条目

Wordpress 如何计算创建类别的 ID?

php 创建树列表类别Wordpress

如何将类别与帖子 wordpress 相关联?

php 创建基于类别加载的自定义WordPress模板

在 Wordpress 中从类别创建帖子的下拉菜单