Wordpress 短代码不适用于帖子 (single.php) 但适用于页面 (page.php)
Wordpress Shortcodes not working on posts (single.php) but working on pages (page.php)
我在一天找不到解决方案后寻求帮助。
我的活动插件中有短代码,它们在页面上工作正常,但不适用于单个 post 页面 (single.php)。不工作我的意思是完全没有加载最终的前端源代码(没有所需的代码,甚至没有短代码片段本身)。
我正在使用全新安装的 _underscores 生成的主题。
注意:我知道是主题阻碍了短代码,因为当我将主题更改为 twentyfifteen 时,短代码起作用了。
我尝试了大约 30 种解决方案(使用调试,安装文件...没有错误,没有警告)
对于如何查找主题中的错误的帮助或建议,我将不胜感激。
这是我的设置:我的 single.php 和 content.php
single.php
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package MyTheme
*/
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', get_post_type() );
the_post_navigation();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
content.php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( sprintf( '<h3 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h3>' ); ?>
<?php if ( 'post' == get_post_type() ) : ?>
<div class="post-details">
<div class="post-details-left">
<i class="fa fa-user-circle"></i> <?php the_author(); ?>
<i class="fa fa-history"></i> <time><?php the_date(); ?></time>
<i class="fa fa-sticky-note"></i> <?php the_category(', '); ?>
<i class="fa fa-tags"></i><?php the_tags('', ', ', ''); ?>
<?php edit_post_link( 'Edit', '<i class="fa fa-pencil"></i>', '' ); ?>
</div>
<div class="post-details-right">
<div class="post-comments-badge">
<a class="post-comments-badge-link" href="<?php comments_link(); ?>"><i class="fa fa-comments"></i> <?php comments_number( 0, 1, '%'); ?></a>
</div>
</div>
</div>
<?php endif; ?>
</header>
<?php if ( has_post_thumbnail() ) { ?>
<div class="post-image">
<div class="post-image-hvr">
<?php the_post_thumbnail(); ?>
</div>
</div>
<?php } ?>
<div class="post-excerpt">
<?php the_excerpt(); ?>
</div>
</article>
再次欢迎任何建议!
您实际上并没有输出页面内容(例如the_content()
);只是摘录 (the_excerpt()
).
您是否编写了有问题的短代码?你add a filter for the excerpt了吗?
我在一天找不到解决方案后寻求帮助。
我的活动插件中有短代码,它们在页面上工作正常,但不适用于单个 post 页面 (single.php)。不工作我的意思是完全没有加载最终的前端源代码(没有所需的代码,甚至没有短代码片段本身)。
我正在使用全新安装的 _underscores 生成的主题。
注意:我知道是主题阻碍了短代码,因为当我将主题更改为 twentyfifteen 时,短代码起作用了。
我尝试了大约 30 种解决方案(使用调试,安装文件...没有错误,没有警告)
对于如何查找主题中的错误的帮助或建议,我将不胜感激。
这是我的设置:我的 single.php 和 content.php
single.php
<?php
/**
* The template for displaying all single posts
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#single-post
*
* @package MyTheme
*/
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main">
<?php
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', get_post_type() );
the_post_navigation();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();
content.php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( sprintf( '<h3 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h3>' ); ?>
<?php if ( 'post' == get_post_type() ) : ?>
<div class="post-details">
<div class="post-details-left">
<i class="fa fa-user-circle"></i> <?php the_author(); ?>
<i class="fa fa-history"></i> <time><?php the_date(); ?></time>
<i class="fa fa-sticky-note"></i> <?php the_category(', '); ?>
<i class="fa fa-tags"></i><?php the_tags('', ', ', ''); ?>
<?php edit_post_link( 'Edit', '<i class="fa fa-pencil"></i>', '' ); ?>
</div>
<div class="post-details-right">
<div class="post-comments-badge">
<a class="post-comments-badge-link" href="<?php comments_link(); ?>"><i class="fa fa-comments"></i> <?php comments_number( 0, 1, '%'); ?></a>
</div>
</div>
</div>
<?php endif; ?>
</header>
<?php if ( has_post_thumbnail() ) { ?>
<div class="post-image">
<div class="post-image-hvr">
<?php the_post_thumbnail(); ?>
</div>
</div>
<?php } ?>
<div class="post-excerpt">
<?php the_excerpt(); ?>
</div>
</article>
再次欢迎任何建议!
您实际上并没有输出页面内容(例如the_content()
);只是摘录 (the_excerpt()
).
您是否编写了有问题的短代码?你add a filter for the excerpt了吗?