Wordpress 3.5 にアップデートしたところ、コードの一部がクラッシュしました。AJAX 経由で特定の投稿をそのギャラリーと共にロードする php ファイルがあります。
コードは次のようになります。
<?php
// Include WordPress
define('WP_USE_THEMES', false);
require('../../../../wp-load.php');
$id = $_POST['id'];
// query post with this identifier
query_posts('meta_key=identifier&meta_value='.$id);
if (have_posts()) :
while (have_posts()) : the_post();
// add content
$content = apply_filters('the_content', get_the_content());
echo '<div class="content-inner">'.$content.'</div>';
endwhile;
endif;
?>
投稿には [gallery] ショートコードが含まれています。このコードを使用して、独自の Wordpress ギャラリーを構築しました。
remove_shortcode('gallery');
add_shortcode('gallery', 'parse_gallery_shortcode');
function parse_gallery_shortcode($atts) {
global $post;
extract(shortcode_atts(array(
'orderby' => 'menu_order ASC, ID ASC',
'id' => $post->ID,
'itemtag' => 'dl',
'icontag' => 'dt',
'captiontag' => 'dd',
'columns' => 3,
'size' => 'full',
'link' => 'file'
), $atts));
$args = array(
'post_type' => 'attachment',
'post_parent' => $id,
'numberposts' => -1,
'orderby' => $orderby
);
$images = get_posts($args);
print_r($images);
}
これは、私のサイトの他のすべてのギャラリーで機能しますが、ajax をロードしたギャラリーでは機能しません。また、Wordpress 3.4 で動作しました。
私が見落としている Wordpress 3.5 の変更点はありますか?