タグ付けされた質問 「wp-insert-post」

5
wp_insert_post()を使用するときに、画像URLで注目画像(サムネイル)を設定するにはどうすればよいですか?
wp_insert_post()の関数参照エントリを調べていると、私のテーマの投稿サムネイルとして表示される投稿の 'Featured Image'を設定するために必要なパラメーターが配列にないことに気付きました。 Bennett氏が提案したset_post_thumbnail()のような関数を調べましたが、これはWordPress自体とWordPressコーデックへの比較的新しい追加のようです。そのため、$ thumbnail_idパラメーターを取得して提供する方法を説明するソースは見つかりません。これが本当に使用する関数である場合、画像URLのみが存在する場合に、有効な$ thumbnail_idパラメーターをどのように提供できますか? 前もって感謝します!

3
wp_insert_postを使用して投稿する分類データを添付する
複数のドロップダウン選択フィールドに分類データを表示するフロントエンド投稿システムを実装しようとしています。ドロップダウンのそれぞれは、「名前」を用いて命名される$argでwp_dropdown_categories()。 wp_dropdown_categories( array( 'taxonomy' => 'location', 'hide_empty' => 0, 'orderby' => 'name', 'order' => 'ASC', 'name' => 'location', ) ); ご覧のとおり、分類法は「場所」であり、選択名も「場所」です。 その後、post_title、post_contentなどとともに、そのような分類選択ドロップダウンのそれぞれに変数を追加します。 $title = trim( $_POST['wpuf_post_title'] ); $content = trim( $_POST['wpuf_post_content'] ); $tags = wpuf_clean_tags( $_POST['wpuf_post_tags'] ); $customcategory = trim( $_POST['customcategory'] ); $cat = trim( $_POST['cat'] ); $location = trim( …

4
一括でwp_insert_postとadd_post_metaへの高速な方法
〜1,500行と97列で構成されるcsvファイルを挿入します。完全なインポートには約2〜3時間かかりますが、方法があればこれを改善したいと思います。現在、各行に対して$ post_id = wp_insert_postを実行してから、各行に関連する97個の列に対してadd_post_metaを実行しています。これはかなり非効率的です... post_idを取得してpostとそのpost_meta値の関係を維持できるように、これを実行するより良い方法はありますか? 今私はこれをローカルマシンでwampで試していますが、VPSで実行します

4
プログラムで外部からカスタム投稿に注目画像を設定する方法
私は、ワードプレス環境外の画像を取得して、PHP経由でカスタム投稿に挿入しようとしています。 その画像をワードプレスに移動/アップロードする方法は、ワードプレスが行うように、ディレクトリの年の日付フォルダ形式をアップロードし、カスタムポストに対してその画像を注目の画像に設定しますか? また、カスタムポストギャラリーに画像をアップロードするには? 以下は私のコードです $filename = $image['name']; $target_path = "../wp-content/uploads/"; $target_path = $target_path . $filename; $wp_filetype = wp_check_filetype(basename($filename), null ); $wp_upload_dir = wp_upload_dir(); $attachment = array( 'guid' => $wp_upload_dir['baseurl'] . '/' . basename( $filename ), 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)), 'post_content' => '', 'post_status' => 'inherit', ); …

2
wp_defer_term_countingを使用することの欠点はありますか?
私は200万以上の投稿を持つWordPressデータベースを持っています。新しい投稿を挿入するたびにwp_set_object_terms、実行に2秒以上かかる呼び出しをしなければなりません。用語のカウントをスキップするように電話することを推奨するこの投稿に出くわしましたwp_defer_term_counting。 このアプローチを使用した場合、WordPressの機能に深刻な影響がありますか? リンクが切れた場合に備えて、投稿のコードを次に示します。 function insert_many_posts(){ wp_defer_term_counting(true); $tasks = get_default_tasks(); for ($tasks as $task){ $post = array( 'post_title' => $task[content], 'post_author' => $current_user->ID, 'post_content' => '', 'post_type' => 'bpc_default_task', 'post_status' => 'publish' ); $task_id = wp_insert_post( $post ); if ( $task[category] ) //Make sure we're passing an int as the term …

2
wp_insert_post()の「meta_input」パラメーターは何に使用されますか?
関数wp_insert_post()を使用して、ワードプレスに投稿を挿入しています。 各投稿にいくつかのカスタムフィールドを挿入し、ドキュメントを読みたいのですが、meta_infoパラメータが使用されていましたが、次のようなことを試しました。 $data = array( 'post_author' => 1, 'post_status' => 'publish', 'post_title' => $post->getTitle(), 'post_content' => $post->getContent(), 'post_category' => $post->getCategory(), 'tags_input' => $post->getTags(), 'meta_input' => array( "_test" => "testx1" ) ); $postID = wp_insert_post( $data ); 投稿は正しく挿入され、タグも付けられます。ただし、カスタムフィールドは追加されていません。add_post_meta()を使用してそれらを追加できることはわかっていますが、投稿を挿入した後、データベースで「testx1」を検索し、結果が見つからなかったため、meta_inputパラメータの用途を知りたいと思っています。

5
wp_insert_postのpost_dateの適切なフォーマット?
wp_insert_post(Trac)を使用してフロントエンドから投稿を送信するときに、投稿日を定義する適切な方法は何ですか? 私のスニペットはmysql時間で公開しています... if (isset ($_POST['date'])) { $postdate = $_POST['Y-m-d']; } else { $postdate = $_POST['2011-12-21']; } // ADD THE FORM INPUT TO $new_post ARRAY $new_post = array( 'post_title' => $title, 'post_content' => $description, 'post_date' => $postdate, 'post_status' => 'publish', 'post_parent' => $parent_id, 'post_author' => get_current_user_id(), ); //SAVE THE POST $pid …

6
投稿のタイトルが存在するかどうかを確認し、存在しない場合は投稿を挿入し、存在する場合はメタにインクリメンタル番号を追加します
ユーザーがフォームを送信してカスタム投稿を作成する機能はすでにあります... <?php $postTitle = $_POST['post_title']; $submit = $_POST['submit']; if(isset($submit)){ global $user_ID; $new_post = array( 'post_title' => $postTitle, 'post_content' => '', 'post_status' => 'publish', 'post_date' => date('Y-m-d H:i:s'), 'post_author' => '', 'post_type' => 'stuff', 'post_category' => array(0) ); $post_id = wp_insert_post($new_post); add_post_meta($post_id, 'times', '1'); } カスタム投稿のタイトルが存在するかどうかを確認し、存在しない場合は、メタフィールドに#1の投稿を作成し、存在する場合は、メタフィールドに1を追加するだけです。

1
wp_insert_post();を使用するときにポストスラッグを設定する方法は?
私のテーマは、カスタムテンプレートを使用して一部のコンテンツをレンダリングします。このテンプレートを使用するにはafter_switch_theme、テーマをアクティブ化した後で独自のページを作成し、このテンプレートをそれに割り当てます。 これが私のやり方です: $new_page_title = __('Custom page'); $new_page_content = ''; $new_page_template = 'page-custom.php'; $page_check = get_page_by_title($new_page_title); $new_page = array( 'post_type' => 'page', 'post_title' => $new_page_title, 'post_content' => $new_page_content, 'post_status' => 'publish', 'post_author' => 1, 'post_slug' => 'my-custom-slug' ); if( !isset($page_check->ID) ){ $new_page_id = wp_insert_post($new_page); if(!empty($new_page_template)){ update_post_meta($new_page_id, '_wp_page_template', $new_page_template); } } ただし、ページのスラッグは常にタイトルに従います。つまり、スラッグは常にcustom-pageです。wp_insert_post()はコード参照に何もないため、ポストスラッグをサポートしていないようです。 …

1
wp_insert_post add meta_input
のドキュメントにwp_insert_postは、ページの半分に次のような変更ログがあります: 以降:WordPress 4.4.0 'meta_input'配列を$ postarrに渡して、ポストメタデータを追加できるようになりました。 Wordpress 4.4.2を使用しています。次のコードを実行して、新しい投稿を追加します。 function handle_post($post) { wp_insert_post( array( 'post_title' => $post['title'], 'post_type' => 'werknemers', 'meta_input' => array( array( 'key' => 'name', 'value' => $post['name'] ), array( 'key' => 'city', 'value' => $post['city'] ) ) ) ); } 投稿はデータベースに追加されますが、メタデータはありません。このスタックポストを見つけましたが、の実装方法がわかりませんif statement。 分類法(tax_input)を追加する方法にも興味があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.