我的Wordpress网站有一个创建帖子的循环,我想定位特定的帖子来改变他们的CSS值。
html - index.php
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php
get_template_part( 'content' );
?>
<?php endwhile; ?>
content.php
<?php
if (has_post_thumbnail()) {
$thumbnail_data = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'my-fun-size' );
$thumbnail_url = $thumbnail_data[0];
}
?>
<article id="post-<?php the_ID(); ?>" style="background-image:url('<?php echo $thumbnail_url ?>')" <?php post_class('container-fluid'); ?> >
<div class="container-fluid">
<div class="col-md-12 text-cell">
<h2><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<?php the_category(', '); ?>
</div>
</div>
</article><!-- /#post -->
有人建议我使用&#39; get_post_meta ...&#39;但我不熟悉如何使用它。我只想更改不同帖子的css值(填充,字体大小等)
答案 0 :(得分:1)
我建议使用自定义字段,以便您可以在帖子中定义值,而不是每次添加新帖子时都必须编辑代码。
在帖子中,确保您可以看到自定义字段(可从顶部的屏幕选项中进行切换)
然后创建一个名为“Alignment”的字段或任何您喜欢的字段,并为其赋值。 (例如'左')
然后你可以在循环中添加一个条件。
<?php $alignment = get_post_meta(get_the_ID(),'Alignment',true);
if($alignment) == 'left'):?>
<p>Do stuff and things here...</p>
<?php endif;?>
您可以在此处详细了解:https://codex.wordpress.org/Custom_Fields
希望这对您有用。如果你想获得更好的功能,我建议你看看高级自定义字段插件,它允许更多的灵活性和选项。
来自评论的编辑:
第一个选项: 将“ExtraCSS”字段设置为“color:green;”
<?php $extraCSS = get_post_meta(get_the_ID(),'ExtraCSS',true);?>
<article id="post-<?php the_ID(); ?>" style="background-image:url('<?php echo $thumbnail_url ?>'); <?php echo $extraCSS;?>" <?php post_class('container-fluid'); ?> >
第二个选项:
(在你的样式表中:)
article:nth-child(2n+0)
{
color:green;
}