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
1 changed files with 7 additions and 1 deletions

View File

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