WordPressで画像投稿形式を追加しようとしています。ユーザーが注目画像をアップロードするのではなく、画像を本文に追加する場合は、添付ファイルから最初の画像を取得し、それを上部ヘッダー画像として表示し、残りを記事本文に表示します。ここに私が思いついた機能があります。注目の画像がアップロードされている場合は動作しますが、そうでない場合は、投稿の本文にさえいない画像が取り込まれます。それはポストのIDを取得していないように見えます。私は何を間違えたのですか?助けてください。ここに私のコードは次のとおりです。WordPressの画像投稿とギャラリー投稿の問題
function justblog_get_attachment(){
if(has_post_thumbnail()) {
the_post_thumbnail('large', array('class' => 'blog-main-image'));
} else {
// No post thumbnail, try attachments instead.
$attachments = get_children(array('post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'DESC',
'orderby' => 'menu_order ID'));
foreach($attachments as $att_id => $attachment) {
$full_img_url = wp_get_attachment_image_src($attachment->ID, 'full', true);
}
if ($attachments) {
echo '<img src="' . esc_url($full_img_url[0]) . '" alt="Title Image" class="blog-main-image" />';
}
}
wp_reset_postdata();
}
こんにちはDavid、私はあなたの修正を試み、空の配列を返します。私はWPループ内の関数を呼び出すので、ポストのIDを取得し、そこから添付ファイルをロードするだけです。投稿IDは大丈夫です!私はWPループ内のテンプレート部分を呼び出しています。どんなアイデアですか? –
画像が投稿にどのように含まれているかを再確認する必要があります。それはポストの子供よりむしろポストメタであろう。 – David
私は実際にはWordPressの新しい、まだ学習しています。私はWPがデフォルトの投稿に画像を追加する方法を変更しなかった(私はここにカスタム投稿を扱っていない)。画像はデフォルトで投稿の子ではないのですか?私はこれを3日間修正しようとしています。イメージをエコーすると、メディアライブラリ内のすべてのイメージがロードされます。いくつかの奇妙な理由から、 'get_the_ID()/ the_ID/$ post-> ID'に設定された 'post_parent'は気にしません。私はループ内にあります、それはちょうどループからポストIDを取る必要があります、その特定のポストからの画像を読み込み、ライブラリ全体ではありません。ここで私を助けてください。発狂。 –