首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环中和在单个类别中对单个类别的文章进行不同样式的简单方法

问在循环中和在单个类别中对单个类别的文章进行不同样式的简单方法
EN

WordPress Development用户
提问于 2017-01-19 14:54:51
回答 3查看 2.2K关注 0票数 0

我有一个特定类别的帖子(假设这个类别是punk-rockers),我想:

  1. 的样式与我的主循环(index.php)和
  2. 有一个帖子(single.php),它的样式与我的其他帖子不同。

因此,总共有四种不同的风格:

  1. 默认循环
  2. 特殊类别循环(例如punk-rockers循环样式)
  3. 默认单桩
  4. 特殊-类别单一职位(例如,punk-rockers单一风格)

重要的是,样式#2和#4不仅与#1和#3不同,而且彼此也不同。因此,类别punk-rockers的帖子不仅在主循环上看上去与其他帖子不同,而且这些帖子也有单独的帖子,其自身的样式将有所不同,这取决于它是出现在主循环中还是出现在单个帖子中。

我知道我可以使用现有的类别类.category-punk-rockers来修改CSS中这个类别的文章,但我的问题是:我不知道在循环和单类中用哪种最简单的方法对它们进行不同的样式化。

如果你们都能告诉我你们认为什么是最优雅的选择器来完成这个任务,我会很高兴的。

谢谢!

注意:对这个问题的回答使用php来解决一些类似的问题,内容不同(相对于仅仅是样式),但是我认为如果我只想改变风格,可能会有一种简单的、仅限于CSS的方法。

EN

回答 3

WordPress Development用户

回答已采纳

发布于 2017-01-19 17:18:32

我不确定我是否理解这个问题,因为假设标准模板,答案看起来很简单--可以想象您的主题没有提供您所要求的类的类型,但是IMO会很奇怪。

主题作者的标准做法是包含函数body_class(),该函数将不同的类添加到页面的html正文标记中,这取决于您显示的帖子或页面类型。这些类包括如下内容:

  • archive (用于存档页),
  • blog (用于博客或主循环),
  • home (用于家庭或主循环),
  • single/single-post (单人),
  • category/category-[cat-#] (用于类别)。

根据应用程序的不同,您将看到不同的应用程序。

如果您想知道页面的类是什么,可以查看源代码,并查看顶部的<body>标记。

所以你可以用.category-punk-rockers来塑造朋克摇滚歌手的风格。通常,主循环的.home .category-punk-rockers、类别归档的.archive .category-punk-rockers、单个帖子的.single-post .category-punk-rockers等等。取决于安装使用的小部件和附加组件,您可能需要创建一些进一步的区别。

票数 1
EN

WordPress Development用户

发布于 2017-01-19 16:35:11

在"single.php“中,检查”is“类别:

代码语言:javascript
复制
is_category( 'Punk-Rockers' );

然后再做

代码语言:javascript
复制
get_template_part( 'punkrockers' );

有了这个,你可以做很多事情。顺便说一句。这个条件标记提供了很多:https://codex.wordpress.org/Conditional_标签

票数 0
EN

WordPress Development用户

发布于 2017-01-19 17:27:31

我找到了一个可通用的解决方案(这意味着您可以将其用于其他类别,而无需为每个类别编写特定的代码),但是您必须向index.php文件和single.php文件中添加一些代码。

在索引页

中

而不是仅仅:

代码语言:javascript
复制
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

通过向函数main-index添加参数,可以将类post_class()添加到post中,如下所示:

代码语言:javascript
复制
<article id="post-<?php the_ID(); ?>" <?php post_class('main-index'); ?>>

在您的单页

中

而不是仅仅:

代码语言:javascript
复制
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

您可以使用相同的方法添加类single-post,如下所示:

代码语言:javascript
复制
<article id="post-<?php the_ID(); ?>" <?php post_class('single-post'); ?>>

样式表的

CSS选择器:

然后,您可以在索引中使用

代码语言:javascript
复制
.main-index.category-punk-rockers {/*CSS*/}

把单曲设计成

代码语言:javascript
复制
.single-post.category-punk-rockers {*/CSS*/}
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/253145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档