我在这里遇到了一些问题。到目前为止,我有两个帖子类别:category_name = projects和category _name = blog。所以我希望每个类别的帖子都有不同的风格和不同的输出。 所以我创建了两个文件projects.php和content.php,然后我将下面的代码放在single.php中
<?php get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if ( 'category_name=projects' ) : ?>
<?php get_template_part( 'template-parts/project', get_post_format() );
the_post_navigation();
?>
<?php else : ?>
<?php get_template_part( 'template-parts/content', get_post_format() );
the_post_navigation();
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
?>
<?php endif; ?>
<?php endwhile; else : ?>
<p>
<?php _e( 'Sorry, no posts matched your criteria.' ); ?>
</p>
<?php endif; ?>
</main>
<!-- #main -->
</div>
<!-- #primary -->
<?php
get_sidebar(); get_footer();
一切正常但是当我开始编辑项目和单个php时,它不会分类。 以下代码来自projects.php
<article id="post-<?php the_ID(); ?>" <?php post_class( ''); ?>>
<?php $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );?>
<header class="entry-header project-header" style="background-image: url('<?php echo $thumb['0'];?>'); height: 80vh;
background-size: cover; background-repeat: no-repeat; background-position: center;">
</header>
<div class="entry-content">
<section class="quater">
<div class="container-fluid">
<h2><?php the_title(); ?></h2>
<h3>Published: <?php the_time('jS F Y') ?></h3>
</div>
</section>
<section class="project-content">
<?php the_content () ?>
</section>
</div>
<footer class="entry-footer">
<?php fish_entry_footer(); ?>
</footer>
</article>
所以问题是 - 如何为每个文件引用某个类别?
答案 0 :(得分:1)
您的PHP if
语句看起来有点奇怪。您没有使用任何比较运算符。您只是调用if ('category_name = projects')
,它只是在字符串上调用if
(由于字符串&#39;值&#39;是&gt; 0,因此应返回true) 。
你有一个存储类别的变量吗?如果您这样做,则需要执行strcmp()
或==
以查看要显示的类别,然后显示相应的类别。
答案 1 :(得分:1)
您可以尝试使用wp查询 - 喜欢 -
$query = new WP_Query( array( 'category_name' => 'staff' ) );
然后循环尝试 -
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
答案 2 :(得分:0)
我想我已经解决了。 所以...我将single.php重新编辑为默认值,并将当前代码添加到functions.php
homestead.rb
现在,当我浏览该类别时,WP会调用projects.php,默认情况下所有其他类别都会保留。 现在将测试它。