1

WordPress 3.5 ではギャラリーが投稿に関連しなくなったため、投稿内のギャラリーから画像を取得する方法。ギャラリーは添付ファイルではないため、get_children() は機能しません。どんな助けでも大歓迎です。

4

2 に答える 2

7

おそらくショートコードを解析する必要があります:

http://codex.wordpress.org/Gallery_Shortcode

正規表現を使用:

$post_content = get_the_content();
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);
于 2012-12-19T15:27:12.743 に答える
0
`global $post;
    $post_subtitrare = get_post( $post->ID );
    $content = $post_subtitrare->post_content;
    $pattern = get_shortcode_regex();
    preg_match( "/$pattern/s", $content, $match );
    if( isset( $match[2] ) && ( "gallery" == $match[2] ) ) {
        $atts = shortcode_parse_atts( $match[3] );
        $attachments = isset( $atts['ids'] ) ? explode( ',', $atts['ids'] ) : get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . $post->ID .'&order=ASC&orderby=menu_order ID' );
    }`

これ$attachmentsにより、WordPress 3.5 より前に慣れていたものが得られます。

于 2012-12-28T07:01:29.437 に答える