Twenty Fourteen: fix Ephemera Widget to avoid showing full post content when displayed in single post or page. Restore the global $more to its original value after the widget output to avoid any issues caused by changing a global variable.

Props obenland, mor10, Frank Klein. See #26961.
Built from https://develop.svn.wordpress.org/trunk@27124


git-svn-id: http://core.svn.wordpress.org/trunk@26991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Lance Willett 2014-02-07 18:03:13 +00:00
parent ca16d41ac2
commit 27097dea2c

View File

@ -102,7 +102,12 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
</h1>
<ol>
<?php while ( $ephemera->have_posts() ) : $ephemera->the_post(); ?>
<?php
while ( $ephemera->have_posts() ) :
$ephemera->the_post();
$tmp_more = $GLOBALS['more'];
$GLOBALS['more'] = 0;
?>
<li>
<article <?php post_class(); ?>>
<div class="entry-content">
@ -194,6 +199,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
// Reset the post globals as this query will have stomped on it.
wp_reset_postdata();
$GLOBALS['more'] = $tmp_more;
$GLOBALS['content_width'] = $tmp_content_width;
endif; // End check for ephemeral posts.