我想在中为第二页应用不同的样式single.php
或帖子。我该怎么做?
我有以下代码single.php
将页面拆分为两部分:
<!--nextpage-->
如果有其他方法可以添加另一个“选项卡”到帖子或类似内容,我非常感谢您的帮助……我只想在帖子中添加一个“自定义页面”,就像帖子的图库一样,因此URL可以如下所示:
http://localhost/mysite/1024/postname/gallery/
http://localhost/mysite/1024/postname/custom-page/
代码输入
single.php
:
<?php get_header();?>
<main>
<?php get_sidebar() ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div id="post">
<div class="top-single-movie">
<div class="info">
<h3 class="title" id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>" rel="bookmark">
<?php the_title(); ?></a>
<?php if( get_field(\'date\') ): ?>
( <?php the_field(\'date\'); ?> )
<?php endif; ?>
</h3>
</div>
<?php if(has_post_thumbnail()) :
the_post_thumbnail(\'medium\');
else :
echo \'<img src="\'.get_bloginfo(\'template_directory\').\'/img/default.png">\';
endif;
?>
</div><!-- End. top-single-movie -->
<?php the_content(); ?>
<?php
wp_link_pages( array(
\'before\' => \'<div class="page-link"><span>\' . __( \'Pages:\', \'tl_back\' ) . \'</span>\',
\'after\' => \'</div>\'
) );
?>
<?php include (TEMPLATEPATH . \'/php/single/tv-single-rand.php\'); ?>
</div><!-- End. content-single-movie -->
<p class="tags"><?php the_tags(); ?> </p>
<!--?php comments_template(); // Get comments.php template ?-->
<?php endwhile; else: ?>
<p> <?php _e(\'Sorry, no posts matched your criteria.\'); ?> </p>
<?php endif; ?>
<!-- END Loop -->
<ul class="navigationarrows">
<li class="previous">
<?php previous_post_link(\'« %link\'); ?>
<?php if(!get_adjacent_post(false, \'\', true))
{ echo \'<span>«Previous</span>\'; } ?>
</li>
<li class="next">
<?php next_post_link(\'%link »\'); ?>
<?php if(!get_adjacent_post(false, \'\', false)) { echo \'<span>Next post:</span>\'; } ?>
</li>
</ul><!-- end . navigationarrows -->
</div>
</main>
<?php get_footer();?>
最合适的回答,由SO网友:Andy Macaulay-Brook 整理而成
WordPress已经将类添加到正文中,以便您处理此问题,只要您的主题正确使用body\\u class模板标记。
在第页的第2页上,您的身体将有以下附加课程:paged
, paged-2
&;page-paged-2
, 因此,您可以看到可以更改样式以适应:
body.page {
background: black;
color: white;
}
body.paged {
background: green;
color: red;
}
Core通过以下逻辑实现这一点:
global $wp_query;
$page = $wp_query->get( \'page\' );
if ( ! $page || $page < 2 )
$page = $wp_query->get( \'paged\' );
if ( $page && $page > 1 && ! is_404() ) {
$classes[] = \'paged-\' . $page;
if ( is_single() )
$classes[] = \'single-paged-\' . $page;
elseif ( is_page() )
$classes[] = \'page-paged-\' . $page;
elseif ( is_category() )
$classes[] = \'category-paged-\' . $page;
elseif ( is_tag() )
$classes[] = \'tag-paged-\' . $page;
elseif ( is_date() )
$classes[] = \'date-paged-\' . $page;
elseif ( is_author() )
$classes[] = \'author-paged-\' . $page;
elseif ( is_search() )
$classes[] = \'search-paged-\' . $page;
elseif ( is_post_type_archive() )
$classes[] = \'post-type-paged-\' . $page;
}
如果您想在第一次使用不同的HTML,可以在模板中调整此逻辑&;后续页面。
SO网友:Michae Pavlos Michael
如果您知道帖子ID,那么可以使用自定义CSS将该特定正文作为目标。例如,如果自定义页面的id为99,则可以设置自定义样式表,并在所有选择器前面加上前缀:
身体postid-99
显然,这取决于你的主题。如果你的主题在body标签中使用了不同的类(不是posid-99),你必须相应地更改选择器。
。。。或
将正确的样式表放入主题函数中。例如:-
function my_enqueue_scripts(){
wp_register_style( \'my-css\', "my-stylesheet.css" );
wp_enqueue_style( \'my-css\' );
}
if ( get_the_ID() == 99 )
add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\');
我没有检查上面的代码,但希望它能帮助你找到你需要的地方。