私はすべてのギャラリー投稿のために私のフロントブログページにスライダーを追加しようとしています、しかし、私は以下のコードを使用して、投稿ギャラリーから画像を抽出することに少し問題があります:
$post_content = get_the_content();
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);
問題は、各ギャラリー投稿がテキスト付きの段落、「続きを読む」休憩、および休憩後のギャラリーで構成されているため、get_the_content()で画像がスキップされることです。彼らは休憩の後だからです。中断に関係なく、コンテンツ全体を取得するにはどうすればよいですか。
それを読むためにそれをクリックする前に私がギャラリーの記事についての短い説明が欲しいので、私は「もっと読む」を使います。
get_the_content
はテンプレートタグであり、ループ内でのみ確実に機能します。つまり、代わりに$post
グローバルを使うこともできるはずです。
global $post; // may not be necessary unless you have scope issues
// for example, this is inside a function
$post_content = $post->post_content;
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);
実際に画像を取得するには、 wp_get_attachment_image
を使用します。
foreach ($array_ids as $id) {
echo wp_get_attachment_image($id);
}