web-dev-qa-db-ja.com

複数の画像をアップロードするためのメタボックスの作成

投稿に複数の画像を添付するメタボックスを作ることは可能ですか?

8
agileapricot

それは完全にあなたが「付く」という意味によって異なります。

各WordPress投稿にはすでに複数のメディア添付ファイル(写真、文書など)を含めることができます。内蔵のアップローダを使用してこれらをアップロードすると、それらはすべてその特定の投稿IDに「添付」されているとマークされます。

これらは後で他の場所でプログラム的に参照できます。たとえば、次のコードは特定の投稿のすべての添付ファイルを一覧表示しますSnipplr からのコード)

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

これらの機能はすべて、新しい投稿画面の[アップロード/挿入]の右端にあるデフォルトの[メディアの追加]ボタンからアクセスできます。画像を1つ追加したら、もう一度[ファイルの選択]をクリックして2番目の画像をアップロードできます。それから三分の一。そして四分の一。あなたが欲しいだけの数。

これらの各画像は、コンテンツに挿入されていなくても、投稿に「添付」されます。

7
EAMann

これはあなたが望むことを正確に行うソースファイルを含む完全なチュートリアルです。
入力フィールドを複製してマルチ画像をアップロードすることができます。また、プレビュー、ajaxによる画像の削除、複数または異なる投稿タイプへのマルチメタボックスの追加などもできます。

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html

6
Philip

私もチェックアウトすることをお勧めします http://www.wpalchemy.com 。 WPAlchemyはあなたのサイトにカスタムメタボックスを簡単に追加するためのキックアスクラス(プラグインに近い)です。私はそれを広く使い、開発者と急成長しているコミュニティの使いやすさとコミットメントに感銘を受けました。

2
internetross

はい、可能です。 response を参照してください。/メタボックスについて知りました。基本的には、save_postのフックを追加してnonceフィールドを確認するだけです。

function my_save_post_callback( $post_id, $post )
{
    if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
    {
        return $post->ID;
    }

    // Handle the upload here

}
add_action( 'save_post', 'my_save_post_callback', 1, 2);
0
Zack