web-dev-qa-db-ja.com

投稿に追加せずに投稿に画像を添付できますか。

画像についてのもう一つの質問。

投稿に追加せずに投稿に画像を追加または添付できますか。この背後にある理由は、私がAPIを使いたいものなら何でもそれを操作できるようにするためです。

11
ariefbayu

添付ファイルと呼ばれるプラグインがあります http://wordpress.org/extend/plugins/attachments/ /たぶんこれはあなたが探しているものです。

5
Horttcore

はい、それは間違いなく可能です。私は自分のテーマの1つでこれを行います。

画像を投稿に挿入するのと同じように投稿に追加するだけですが、[すべての変更を保存]をクリックし、[投稿に挿入]ボタンをクリックすることはしません。

その後、次のような方法でその投稿のギャラリーの画像にアクセスできます。

$images = get_gallery_images();

私はfunctions.phpでその関数を定義したところ:

// get all of the images attached to the current post
    function get_gallery_images() {
        global $post;
        $photos = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
        $galleryimages = array();
        if ($photos) {
            foreach ($photos as $photo) {
                // get the correct image html for the selected size
                $galleryimages[] = wp_get_attachment_url($photo->ID);
            }
        }
        return $galleryimages;
    }

そして、あなたのテンプレートファイルの中のそれらの画像にあなたが望むことなら何でもしてください。 (私の場合は、画像をループ処理してjQueryスライダーに入れます)。

あなたが使うことができるプラグインもありますが、あなたがそれを手伝うことができるならばプラグインを最小にすることが常に最善です。

7
Amanda

はい、できます。

投稿の編集画面でメディアアップローダを使用して画像をアップロードするか、または update_post() を使用して添付のpost_parentフィールドを添付先の投稿のIDに設定すると、それが関連付けられます。その投稿のコンテンツに実際に挿入されているかどうか。

get_children()を呼び出すことで、特定の投稿に添付されているすべての画像を取得できます( 例についてはコーデックスを参照してください )。

6
goldenapples