<!--More--> not functioning

时间:2012-12-19 作者:Kirsty Marks

我有以下带有输出内容的博客模板。我已放置<!--more-->

然而,它似乎没有发挥作用,

http://www.milknhny.co.uk/DVine/?page_id=19

是否需要在函数中包含任何内容才能使其正常工作?

Code Of my Blog Template

<?php
/*
Template Name: Blog Template
*/
 ?>

<?php get_header();?>
<?php echo get_the_post_thumbnail($post->ID, \'single-post-thumbnail\'); ?>
<div id="maincontentwrap" role="main">
<?php query_posts(\'showposts=5\'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
 <div class="datebackground"><span class="day"><?php echo get_the_date(\'j\'); ?></span>    <span class="month"><?php echo get_the_date(\'M\'); ?></span></div>
<div class="postsh1"><?php echo get_the_title(); ?></div>
<div id="blogwrapper">
Written by <?php the_author_posts_link() ?> in <?php the_category(); ?>
<?php the_content(\'read more...\'); ?>

<br>
<div class="pagedivider"></div>
</div>  
<?php endwhile; else: ?>
<p><?php _e(\'Sorry, no posts matched your criteria.\'); ?></p>
<?php endif; ?>
</div><!-- #content -->
<?php get_footer(); ?>

EDIT

我在《二十一世纪》主题中发现了这一点,我尝试将其改编为我自己的主题,但实际代码中的错误。。。

function DTheme_excerpt_length( $length ) {
return 40;
}
add_filter( \'excerpt_length\', \'DTheme_excerpt_length\' );

if ( ! function_exists( \'DTheme_continue_reading_link\' ) ) :
/**
 * Returns a "Continue Reading" link for excerpts
 *
 * @since Twenty Ten 1.0
 * @return string "Continue Reading" link
 */
function DTheme_continue_reading_link() {
return \' <a href="\'. get_permalink() . \'">\' . __( \'Continue reading <span class="meta-  nav">&rarr;</span>\', \'DTheme\' ) . \'</a>\';
}
endif;

/**
 * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and twentyten_continue_reading_link().
 *
 * To override this in a child theme, remove the filter and add your own
 * function tied to the excerpt_more filter hook.
 *
 * @since Twenty Ten 1.0
 * @return string An ellipsis
 */
function DTheme_auto_excerpt_more( $more ) {
return \' &hellip;\' . DTheme_continue_reading_link();
}
add_filter( \'excerpt_more\', \'DTheme_auto_excerpt_more\' );
?>
这是一种情况,我需要适应上述工作?

EDIT

大家好,这似乎是部分工作后,惊人的帮助下面,但它仍然没有显示在内容包装和图像,例如正在调整大小。。。请立即查看我的代码和屏幕截图

<?php get_header(); ?>
<div id="maincontentwrap" role="main">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="datebackground"><span class="day"><?php echo get_the_date(\'j\'); ?></span>    <span class="month"><?php echo get_the_date(\'M\'); ?></span></div>
<div class="postsh1"><?php echo get_the_title(); ?></div>
<div id="blogwrapper">
Written by <?php the_author_posts_link() ?> in <?php the_category(); ?>
<?php the_content(); ?>

 <br>
<div class="pagedivider"></div>
</div>  
<?php endwhile; else: ?>
<p><?php _e(\'Sorry, no posts matched your criteria.\'); ?></p>
<?php endif; ?>
</div><!-- #content -->
<?php get_footer(); ?>
Screenshot of further info on click

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

我发现有几件事可能导致你的问题。

首先,您使用自定义页面模板来显示博客文章索引,而不是使用home.php 由模板层次结构指定。这可能是个问题,因为<!--more--> 标记在单个页面上不起作用,而且由于您使用默认查询(下面有更多内容)进行了一些奇怪的操作,因此全局$more 其中<!--more--> 依赖可能没有按照您的预期进行设置。

将静态页面正确配置为博客文章索引因此,第一步是将静态页面正确配置为博客文章索引:

确保您选择的静态页面被选择为Posts Page 在里面Dashboard -> Settings -> Readinghome.phpTemplate Name: Blog Template phpDoc标题中的标记(假设:您已经选择了一个静态页面Front Page)

不要踩踏主查询

如果仅此无法解决您的问题,那么下一个要调查的问题是您踩踏默认查询的方式query_posts(). Do not ever use query_posts(), 为了一切,永远。

如果要将博客帖子索引设置为显示给定数量的帖子,则filter the $query via pre_get_posts, 像这样:

function wpse76634_filter_pre_get_posts( $query ) {
    if ( is_home() && $query->is_main_query() ) {
        $query->set( \'posts_per_page\', \'5\' );
    }
}
add_action( \'pre_get_posts\', \'wpse76634_filter_pre_get_posts\' );
那就别打电话给query_posts() 在模板文件中。

正确使用<!--more-->

如果这不能解决您的问题,那么下一步就是检查<!--more--> 标记自身。

确保标签准确<!--more-->, 之间没有空格<!--more 或介于more-->.

模板之外的问题如果仍然不能解决问题,您可能在某个地方有代码,或者functions.php 或者在插件中,这会改变<!--more--> 标签

要测试与插件相关的问题,请停用所有插件,并切换到默认主题(当前为:212),并验证<!--more--> 标签工作正常。如果工作正常,请逐个重新启用插件。如果<!--more--> 标签在所有插件都处于活动状态时仍能正常工作,那么问题就出在您的主题中的某个地方。

下一步是排除模板文件。如果已遵循上述步骤,请重命名home.phphome.php.old, 所以WordPress回到index.php 呈现博客文章索引。然后,验证<!--more--> 标签工作正常。

如果确实如此,那么问题是您的模板。如果没有,那么问题就出在functions.php.

结束

相关推荐

displaying tags in a widget

我有一个小部件,可以在我的网站上显示最新的项目缩略图。当我将鼠标悬停在缩略图上时,会显示项目标题;这是标题代码:<h2><?php echo get_the_title(); ?></h2>所以,我想也显示特定项目的标签,比如美丽、自然、风景这是可能的,或者你能给我一些关于如何实现这一点的建议吗?谢谢