我有自定义的Post类型“pjesma”(歌曲),唯一能够显示内容的方法是archive-pjesma.php
.
工作正常:
<?php get_header();
global $post;
$args = array( \'post_type\' => \'pjesma\', \'posts_per_page\' => 10 );
$lastposts = get_posts( $args );
foreach ( $lastposts as $post ) :
setup_postdata( $post ); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>
<?php //the_content(); ?>
<?php endforeach;
wp_reset_postdata();
get_footer(); ?>
然后在
single-pjesma.php
我只能使用
the_title()
所以我用这个
echo $post->post_content;
. 的内容
single-pjesma.php
:
<?php get_header(); ?>
<?php
echo "<h1>"; the_title();
echo "</h1>";
echo $post->post_content;
?>
<?php get_footer(); ?>
现在,问题是我已经安装了插件
Chords and Lyrics 因此,我可以正确地显示歌词上方的和弦,该插件不会影响内容。我想,内容是存储在数据库中时显示的。
有没有其他方式来显示歌词和和弦,以便它们受到插件的影响?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
首先,你不应该使用get_posts
在你的CPT档案中,WP已经创建了一个查询并选择了应该显示在那里的帖子。所以你的archive-pjesma.php
应如下所示:
<?php get_header(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php // the_content(); ?>
<?php endwhile; ?>
<?php get_footer();
您还应该在
single-pjesma.php
:
<?php get_header(); ?>
<?php if ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endif; ?>
<?php get_footer();