In the gallery shortcode, handle mapping of "ids" to include and orderby before the post_gallery filter. see #21816. fixes #22617.

git-svn-id: https://develop.svn.wordpress.org/trunk@22891 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Andrew Nacin 2012-11-28 03:51:27 +00:00
parent 19e522e83b
commit 82622db77e
1 changed files with 6 additions and 7 deletions

View File

@ -669,6 +669,12 @@ function gallery_shortcode($attr) {
static $instance = 0;
$instance++;
if ( ! empty( $attr['ids'] ) ) {
// 'ids' is explicitly ordered
$attr['orderby'] = 'post__in';
$attr['include'] = $attr['ids'];
}
// Allow plugins/themes to override the default gallery template.
$output = apply_filters('post_gallery', '', $attr);
if ( $output != '' )
@ -690,7 +696,6 @@ function gallery_shortcode($attr) {
'captiontag' => 'dd',
'columns' => 3,
'size' => 'thumbnail',
'ids' => '',
'include' => '',
'exclude' => ''
), $attr));
@ -699,12 +704,6 @@ function gallery_shortcode($attr) {
if ( 'RAND' == $order )
$orderby = 'none';
if ( !empty( $ids ) ) {
// 'ids' is explicitly ordered
$orderby = 'post__in';
$include = $ids;
}
if ( !empty($include) ) {
$_attachments = get_posts( array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby) );