タグ付けされた質問 「attachments」

添付ファイルは、投稿エディタのアップロードユーティリティを介してアップロードされた画像またはその他のファイルです。添付ファイルは、独自の「ページ」またはテンプレートに表示できます。詳細については、「画像と添付ファイルの使用」を参照してください。

7
添付ファイルのサイズを取得するにはどうすればよいですか?
次のテンプレートコードを使用して、添付リンクを表示しています。 $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'post_parent' => $main_post_id ); $attachments = get_posts($args); foreach ($attachments as $attachment) { the_attachment_link($attachment->ID, false); } しかし、リンクの後、ファイルのサイズを表示する必要があります。これどうやってするの? ファイルのパス(wp_upload_dir()およびsubstr()のwp_get_attachment_url())を決定して呼び出すことfilesize()ができると思いますが、それは厄介なようで、WordPressにメソッドが組み込まれているのではないかと思っています。

5
URLを添付ファイル/投稿IDに変換する
画像のURLを取得して、データベース内でその画像の添付ファイルまたは投稿IDを見つける方法はありますか? 状況は次のとおりです。 私は、投稿コンテンツで「a」タグに囲まれているすべての「img」タグを巡回しています。「img」タグのsrc属性が外側の「a」タグのhref属性と一致しない場合、「img」タグを置き換えたいと思います。これを行う際に、削除する「img」がギャラリーにある場合、その投稿を削除してから、代わりの「img」をその場所に配置します。私はこのような関数を使用してみました: function find_image_post_id($url) { global $wpdb; $postid = $wpdb->get_var($wpdb->prepare("SELECT DISTINCT ID FROM $wpdb->posts WHERE guid='$url'")); if ($postid) { return $postid; } return false; } 皮肉なことに皮肉なことにグローバルに一意ではないため、これは明らかに正しくありません。私は(以前の同じスクリプトで)同じ名前のファイルをアップロードしていました(なぜですか?高解像度で同じ画像の低解像度バージョンを置き換えようとしているためです)が、wordpressは別の名前で画像を保存しますがディレクトリ、GUIDは同じに設定されました。(おそらくバグ)。 私が使用できる別のテクニックはありますか?

6
画像添付の代替テキストを取得する方法は?
attachment.phpファイルを使用して、他の場所でクリックされた画像の大きなバージョンを表示しています。javascriptを使用して、画像の下にキャプションとして画像の代替テキストを引き出したいのですが、wp_get_attachment_image_src()が使用されている場合、代替テキストは含まれません。WPにそれを取得する機能があるとは思わないので、自分で作成する必要があります。その関数を書くために私は知る必要があります...画像の代替テキストはどこに保存されていますか? 私の添付ページではwp_get_attachment_image_src()、代替テキストを含まないを使用しています。 <div class = "entry"> <?php if ( wp_attachment_is_image( $post->id ) ) : $att_image = wp_get_attachment_image_src( $post->id, "large");?> <a href="<?php echo wp_get_attachment_url($post->id); ?>" title="<?php the_title(); ?>" rel="attachment"> <img class="attached_img" src="<?php echo $att_image[0];?>" width="<?php echo $att_image[1];?>" height="<?php echo $att_image[2];?>" class="attachment-medium" alt="<?php $post->post_excerpt; ?>" /> </a> } <?php endif;?> </div> これは示しています: …

6
画像をアップロードする際のHTTPエラーを修正する方法は?
Ubuntu 12.04でApacheとPHP 5.3.Xを使用してWordPress 3.4.1を使用しています ダッシュボードにログインして新しい投稿を追加すると。次に、画像をアップロードして注目画像として設定しようとすると、「HTTPエラー」というメッセージの付いた赤いボックスが表示されます。 私はフラッシュアップローダーを使用せず、ブラウザアップローダーを使用するように言っている人々について読んだことがありますが、それを試してみると、500 Internal Server Errorを受け取ります。 AddType x-mapp-php5 .php.htaccessファイルの先頭に追加しようとしましたが、変更はありません。 すべてのプラグインを無効にしても効果はありません。新規インストールを試みました。運がありません。 2016年10月17日更新- カスタムの役割または機能を使用している場合は、ネイティブの役割/機能を使用してもう一度試してください。 チェックを検討すること: ファイルの所有権 ファイル許可 .htaccess設定 PHPバージョン7以降 WordPressの現在のバージョン プロキシの背後で操作している場合は、プロキシサーバーのタイムアウトが正しく構成されていることを確認してください。

1
WP 3.5以降で特定の投稿の添付関係を管理する方法
WordPress 3.5では、メディア管理が完全に変更されました。また、添付ファイルを特定の投稿に関連付けることは、基本的には後方互換性のためだけに行われています。したがって、メディアモーダル内から任意の投稿タイプの投稿に添付ファイルをアップロードした後、長い間そうであったように、投稿IDが添付ファイルIDの親である関係を確立します。 ただし、添付ファイルが投稿にアップロードされると、投稿のメディアモーダル内から投稿と関係のある添付ファイルを管理する場所がなくなります。 画像をアップロードした後、すぐにそれらを選択して挿入できますが、メディアがサイト全体のメディアセクションにダンプされるため、ここに示すように<3.5のような特定の投稿への添付ファイルを管理できなくなります。 これにより、次の問題が発生します。 特定の投稿への添付ファイルの関係を管理することは、メディアを完全に削除して再アップロードしなければ不可能です。それだけで以前と変わりません。ただし、メディアは他のすべてのメディアと同じタブにダンプされ、特定の投稿との関係を持つメディアを管理するタブがないため、特定の投稿に添付されたメディアを検索することさえ非常に困難になります。 メディアを投稿に添付し、その後、他の投稿に多くの添付ファイルをアップロードした後、古い投稿に戻り(スライダーまたは製品を考えて)、添付されたメディアを交換することができます。新しいエディターの[メディア]タブでは、現在の投稿との関係を持つ添付ファイルによってすべてのメディアが最初に順序付けられるわけではないため、メディアを見つけてください。これが写真の例です: ここではそれほど悪くはありません。1つまたは2つの投稿しか分離されていないからです。しかし、数か月後に戻ることを想像してください。その投稿に関連する添付ファイルを見つけることは不可能です。 投稿とそれに関連する添付ファイルとの関係を利用する、非常に多くのプラグインとカスタムページテンプレートがあります。したがって、これらの関係を削除することは、将来的に非常に困難になります。 答えは、特定の投稿に添付されたメディア用に別のタブを左側に作成することだと思います。または、メディアタブの順序を、現在の投稿に関連する添付ファイルで開始するには。それは短期的な修正です。 これらのプラグインおよびテーマの開発者は、長期的にメディアを投稿に関連付ける他の方法を作成する必要があります。新しいタブを作成し、メタデータを添付ファイルに追加してリレーションシップを作成するために利用可能なフックがあると思います。 私は心配しているのですか?修正するアイデアはありますか?

4
壊れた?WP_Queryおよび投稿タイプとしての「添付」
ページにギャラリーが添付されています。そのページで、次のクエリを実行しています。 $events_gallery = new WP_Query( // Start a new query for our videos array( 'post_parent' => $post->ID, // Get data from the current post 'post_type' => 'attachment', // Only bring back attachments 'post_mime_type' => 'image', // Only bring back attachments that are images 'posts_per_page' => '3', // Show us the …

5
カテゴリメタボックスを添付ファイルに追加できますか?
register_taxonomy_for_object_type()カテゴリの分類フィールドをメディアのアップロード(添付ファイル)に追加するために使用しています。そのためにこのコードを使用しています: add_action('init', 'reg_tax'); function reg_tax() { register_taxonomy_for_object_type('category', 'attachment'); } これは機能し、画像を表示するときに、カテゴリの単純なテキストフィールドをメディアページに追加します。本当に必要なのは、プレーンフィールドに入力するだけでなく、使用するカテゴリを選択できるように、実際のカテゴリメタボックスを表示することです。また、カテゴリのスラッグをこのテキストフィールドに入れると、保存時のmy-category-nameようMy Category Nameに実際のカテゴリ名として表示されるため、単純なテキストフィールドの有用性が低くなります。 私はadd_post_type_support()メタボックスを追加するための関数を見てきましたが、それがカスタム投稿タイプに使用されるのを見てきましたが、添付ファイルにも同じものを追加できるかどうかわかりません。

2
WPメディアアップローダーは3つの異なるサイズの画像をどのように作成し、どのように複製できますか
いよいよ!! このことを手に入れたのは、約12回の方法と12の異なる方法で試しましたが、ようやく機能するようになりました。 画像をアップロードして投稿に添付するためのカスタムメタボックスを作成しました。WPに組み込まれている恐ろしいシックボックスメディアアップローダーを使用する必要はありません。嫌いです。いいえ、私がしたことは、入力のグループ(タイトル、説明、ファイル)だけです。必要に応じて添付ファイルを追加するために複製することもできます。そのため、フィールドに入力し、アップロードする画像を選択して、下書きを保存するか、投稿を公開します。投稿に添付ファイルが追加されると、メタボックスには入力フィールドと、追加した各添付ファイルの添付画像のプレビュー画像が表示されます。タイトルと説明のフィールドは、ファイルメタデータを生成するために使用されますが、私が知っているpost_metaとしては何も保存されません。現在、私がこれまで取り組んできたのはそれだけです。 投稿を保存/公開するときに、添付ファイルをアップロード/作成するときに、デフォルトのwpアップローダーと同じように3つの画像サイズ、サムネイル、中、大を作成し、フルサイズの画像も保持するようにする必要があります。それがどうにか可能なら。そうでない場合は、別の方法でadd_image_size()新しいカスタムサイズを作成/定義し、アップロード時に代わりにそのように生成したいと思います。 この場合にどの関数を使用するのが最も理想的かはわかりません。おそらく、image_make_intermediate_size()関数の方が優れているか、wp_create_thumbnail()またはwp_crop_image()...誰が知っているか!! wp_handle_upload()それぞれについて関数を実行する必要がある場合、またはおそらくwp_generate_attachment_metadata()関数に。3つの画像サイズが同じ添付ファイルのバリアントとして関連付けられるため、それをどのように実行するのか、私にとって混乱しています。 私はウェブを精査し、すべてのwpメディア/アップロード/画像関連ファイルのソースを読み、メディアアップロード用のほぼすべての機能でプレイしましたが、WPが3つの画像サイズを作成する方法や方法を見つけることができませんそれ自身。 wp-includes / media.phpのimage_resize()関数は、まさにそのとおりであるため、最適であるように見えます。私は自分の人生のために私が何を失っているのか、またはやってみましたが、画像のサムネイルを作るのは間違っていたのかわかりません。 以下は、wp_handle_upload()物と物事を処理する私の作業関数ですが、100pxのサムを作成し、500pxのような最大幅の画像のサイズ変更バージョンを作成し、アップロードされたものの新しいファイルとして保存する必要があります。 function update_attachment(){ global $post; wp_update_attachment_metadata( $post->ID, $_POST['a_image'] ); if( !empty( $_FILES['a_image']['name'] )) { //New upload require_once( ABSPATH . 'wp-admin/includes/file.php' ); $override['action'] = 'editpost'; $url = wp_handle_upload( $_FILES['a_image'], $override ); // $medium = image_make_intermediate_size( $uploaded_file['url'], 500, 400, true ); // …

2
画像中心のカスタム投稿タイプを作成しますか?
画像中心のカスタム投稿タイプを作成するためのヒントはありますか? 詳細を説明するために、私のブログには、以下に示す回転ヘッダー画像があります。 左上の2つの画像はランダム化されており、これらの画像を含むためにのみ存在する特定のページへの添付ファイルとして存在します。カスタムの投稿タイプを使用して、これらを別の方法で保存することが可能かどうか疑問に思っています。新しい投稿タイプ「header-image」を作成しました。ここからどこに進むべきかを考えています。各ヘッダーイメージ「投稿」に1つのイメージ添付ファイルが必要です。ページからランダムな画像を取得する代わりに、ヘッダー画像投稿タイプからランダムな投稿を取得します。これを考えると、 「新しいヘッダー画像」管理ページから利用できる添付プロセスに簡単なインターフェースを組み込むにはどうすればよいですか? 投稿のタイトルとコンテンツ入力ボックスを削除して、そのページを整理できますか? 目標は、現在のアップロードプロセスへのより良いインターフェイスを作成し、最終的に画像を左画像/右画像としてフラグ付けする分類法を作成できるようにすることです。(上の画像を見ると、右側の写真が他の写真の顔を覆っていることがわかります。左側および/または右側のディスプレイに写真をマークすることでこれを回避できます。)後者の場合は問題ありません前者を実装できます。 更新:ここでの回答に基づいて、このセットアップを実装することができました。完全なコードは以下に掲載されています。

5
画像のタイトル/代替属性を取得する方法は?
私の白いテーマでは、ホームスライダーポストに構成されたalt属性はありません。メディアライブラリインターフェイスを介して画像の代替テキストを追加しました。次のコードを追加して、代替テキスト/属性を表示します。ただし、表示されません: <img class="homepage-slider_image" src="http://www.blabla.com/wp-content/uploads/2013/06/cms-website4-1800x800.jpg" alt="" /> コードは次のとおりです。 <?php $image = get_post_meta(get_the_ID(), WPGRADE_PREFIX.'homepage_slide_image', true); if (!empty($image)) { $image = json_decode($image); $image_alt = get_post_meta( $attachment->ID, '_wp_attachment_image_alt', true); if ( empty( $image_alt )) { $image_alt = $attachment->post_title; } if ( empty( $image_alt )) { $image_alt = $attachment->post_excerpt; } $image_title = $attachment->post_title; $image_id = …

2
プログラムでURLで画像を取得し、アップロードフォルダーに保存する
別のCMSからWordPressへの大規模な移行に関与しています。データベースのコピーがあり、wpdbクラスのインスタンス化を使用してコンテンツを抽出し、そこからWordPressの投稿をプログラムで作成する方法を考え出しました。 しかし、数千の画像があり、それらを自動的に引き渡し、さまざまなサイズを生成し、投稿に添付して、約1週間の作業を節約したいと考えています! URLでリモートサイトから画像を取得し、wp-uploadsフォルダーに保存する方法はありますか?私はこれを使用していると思いますwp_httpが、私はそれをよく知りません。 画像を取得して保存したらwp_generate_attachment_metadata、さまざまなサイズを作成wp_insert_attachmentして投稿に添付するために使用できるので大丈夫です。 ありがとう、サイモン

2
メディアモーダルで更新をトリガーする方法
メディアモーダルに新しいタブを追加するプラグインを開発しています。新しく追加された添付ファイルを表示するには、添付ファイルタブの更新をトリガーする方法を知る必要があります。これは私が使用しているコードです: wp.media.view.Toolbar.Custom = wp.media.view.Toolbar.extend({ initialize: function() { _.defaults( this.options, { event: 'custom_event', close: false, items: { custom_event: { text: wp.media.view.l10n.customButton, style: 'primary', priority: 80, requires: false, click: this.addAttachment } } }); wp.media.view.Toolbar.prototype.initialize.apply( this, arguments ); }, // triggered when the button is clicked addAttachment: function(){ this.controller.state().addAttachment(); this.controller.setState( 'insert' ); // …


2
マルチサイトでブログIDによってアップロードURLを取得する
質問の本質は、私はこのような解決策を探している: $blog_upload_dir_info = wp_upload_dir( $date, $blog_ID ); $blog_upload_url = $blog_upload_dir_info[ 'baseurl' ]; $blog_ID現在のブログIDとはどこが異なりますか。ほとんどの»WP-obvious«ソリューションは失敗します: switch_to_blog( $blog_ID ); $blog_upload_dir_info = wp_upload_dir(); restore_current_blog(); wp_upload_dir()定数に依存しているWP_CONTENT_URLオプションがない限り、動的に現在のブログのURLを設定してupload_url_path設定されています。 もちろん、このオプションを設定することもできますが、これにより、コードに»WTF?«ポテンシャルを多く含む具体的なシステム設定が結合されます。 そこで、このオプションを仮想的に追加することにしました。 /** * Apply a value to the option blog_upload_url * if there's not already one * * @wp-hook option_upload_url_path * @param string $upload_url * @return string */ …

1
(一部の)アップロード/ダウンロードへのアクセスを制限する簡単なソリューション
最初の状況 私が設定しているサイトでは、アップロード/ダウンロードを保護し、ユーザーの役割/機能に基づいてそれらへのアクセスを制限するという分野全体を調べていました。もちろん、私はここで(一般的な)トピックに関連する以前の質問のいくつかを読みました。参照の理由から、私が見つけた最も重要で興味深いものを参照します。 ユーザーがログインしていない場合にアップロードを保護する方法 アップロードされたファイルへのアクセスを制限するには? 特定のフォルダ内のファイルへのアクセスを制限する メディアのアップロードをプライベートにする方法は? PHPダウンロードスクリプトを `functions.php`にマージ 補足事項 一般に、ワードプレスのインストールのセキュリティをさらに向上させることは悪い考えではありません-たとえば、あなたの保護wp-config.php-あなたができる、そしてすべきことはたくさんあります。やり方はたくさんあります。私は主に私のアップロード/ダウンロードについて懸念しているこの質問のコンテキストにいます。 WordPressのアップロードは保護されていません。uploads次のようにして防止しない限り、誰でもフォルダを参照できます.htaccess。 Options All -Indexes .htaccessファイルには、内側に配置する必要があるuploadsフォルダ。しかし、それはそれらを実際に保護することではなく、単にファイルを見つけることを難しくします。さらにhotlinking、に基づいて本質的にアクセスを制限することもできますreferrer-これは少し異なるケースですが、私はそれについて言及しましたが、これ以上詳しく説明しませんが、それに関する多くの情報を見つけることができます。 もちろん、投稿を非公開にしたり、適切なテンプレートファイルを使用してカスタム投稿タイプを作成したりして、その投稿タイプを非公開にすることもできますが、これはファイルを保護しません。is_user_logged_in()またはのような条件文でファイルをラップする場合も同様is_admin()です。 余談ですが、ファイルを安全に保護することを約束しているプラ​​グインはたくさんありますが、それらの多くはそうするふりをしているだけです。その理由のいくつかは上記にあります。誰もが知っているわけではないと確信しているので、私はそれを指摘しているだけなので、注意してください。 目的 私の意図は、(一部の)アップロードとダウンロードへのアクセスを制限できるようにすることでした。そして、偶然ではなく、または誰かがファイル名を知っている場合を除いて、不要な人がアクセスできないようにするために、ファイルは本当にプライベートで安全でなければなりません。結局のところ、特定の人だけが例外なくアクセスできるはずです。 さらに、私はサイト全体を民営化する必要はありませんでした。実際、それは逆効果です-それは公開プレゼンテーションの目的で使用されます。さらに、私はこのソリューションを簡単に使用できるようにしたいと考えました。これは、よくあることですが、それを扱う人々の一部が正確にはコンピュータの専門家ではないという単純な理由のためです。 質問 したがって、質問は、(一部の)アップロードとそれぞれのダウンロードへのアクセスを制限する(比較的)簡単な方法はありますか?そして、私が実施したように、それは本当にそれらを保護し、安全にする方法を意味しますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.