我正在自定义WordPress网站的主题,我需要使用不同的主题。基于条件的php文件。
这是我的用户案例,我需要设计一个竞赛页面,在那里我需要显示人们提交的参赛作品。条目可以属于不同的类别,因此不可能基于类别对其进行跟踪。
我已经创建了一个标签(竞赛),每个属于竞赛的参赛作品都会被贴上这个标签,我可以根据这个标签轻松挑选所有参赛作品。
在主导航栏上,我放置了一个链接"Contest"
这将把用户带到竞赛页面,在此页面上,我显示所有提交的条目,并提供简短描述和链接,以转到故事页面。
这是我在自定义竞赛页面上显示数据的方式
$ppp = get_option(\'posts_per_page\');
$args = array(
"tag" => getContestPageData(\'tag_name\'),
\'posts_per_page\' => 10,
\'post_type\' => \'post\',
\'orderby\'=> \'date\',
\'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1)
);
$posts=query_posts($args);
foreach( $posts as $post ) : setup_postdata($post); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>">
<img src="<?php echo $random_image[0]; ?>" alt="<?php the_title(); ?>" class="left"/>
</a>
当用户单击锚定链接时,它会将用户重定向到
single.php
页码(如果我的理解正确)
我需要调整主故事页,以便可以设计它与竞争的主题铭记在心,我可以做它与以下选项
放入一些条件逻辑single.php
对于所有在我的自定义页面上单击故事链接的用户,请将其放在其他页面上,例如compition-single.php
这可能吗?请链接到我适当的资源或示例
SO网友:Tom J Nowell
在以前使用的编辑中:
if (in_category(\'21\')) {
include (TEMPLATEPATH . \'/single-21.php\');
} else {
include (TEMPLATEPATH . \'/single-29.php\');
}
这是您解决方案的一部分,但在我继续之前,请注意以下几点:
不要像那样使用includeget_template_part(\'single-21\');
效果更好,正确缩进这与ID在模板继承权中的工作方式冲突。E、 g.ID为21的帖子将始终使用single-21.php
作为竞赛问题的模板,您需要的是:
if ( post has the tag \'contest\' ) {
get_template_part();
}
要确定帖子是否有“竞赛”标签,请使用:
$terms = get_the_terms( get_the_ID(), \'tag\' );
$is_contest = false;
foreach ( $terms as &$term ) {
if ( $term->name == \'contest\' ) {
// Yes, this post has the contest tag
$is_contest = true;
break;
}
}
我建议您仔细阅读以下内容:
我还强烈建议不要硬编码代码中的标签类别和编号,并且要有一个自动缩进代码的编辑器,例如Sublime Text、PHPStorm、Netbeans、Komodo Edit等
最后一点,我strongly 敦促您不要使用query\\u posts功能。而是使用WP\\u查询。