web-dev-qa-db-ja.com

`post meta`テーブルにデータを挿入しますか?

Postメタテーブルにデータを挿入する方法は?クエリとwpdbがどのように機能するかはわかっていますが、テーブルに挿入する方法がわからないのです。

これら2つのフィールドを持っています。私のカスタム投稿タイプの会社で、Titleが新しい投稿になるIDとTitleを挿入し、IDがそのコンテンツになります。残念ながら、これを行う方法がわかりません。

編集:投稿メタテーブルであるかどうかはわからないが、新しいカスタム投稿タイプの投稿が表示される限り。

前もって感謝します!

1
David H

ここでpost_metaを使用する必要はありません。すべての情報がpostsで入手可能であるためです。

新しい投稿を挿入するには、wp_insert_post( $post )を使用して、引数を$post-配列に渡します。この関数は、エラー処理のためにWP_Error-オブジェクトを返すことができ(2番目の引数がtrueに設定されている場合、falseの場合にエラーで0を返します)、挿入された投稿のIDを返します。

Codexwp_insert_post()の引数の完全なリストを見てください。

$post = array(
    'post_content'   => $content, // The content you want to have set in the content
    'post_title'     => $title, // The title of your post.
    'post_status'    => 'publish', // Whatever status you want to have
    'post_type'      => 'your_custom_post_type' // the slug of your custom post type
); 

$thisid = wp_insert_post( $post, true ); // insert the post and allow WP_Error object

if ( is_wp_error( $thisid ) ) {
    // Error handling
} else {
    // the rest of your code, inserting metadata
    update_post_meta( $thisid, 'your_meta_key', $your_meta_value );
}
5
fischi

次のようにして任意のクエリを実行し、成功を確認することができます。それが機能するかどうかを教えてください。

Praveen

$InsertQuery = "INSERT INTO post_meta VALUES (Enter Values Here)";

//Create a query named InsertQuery

$insert = $wpdb->query($InsertQuery);

//Execute InsertQuery

if($wpdb->insert_id){
    echo 'Post Entered Successfully.';
}else{
    echo 'Unable to Insert Post.';
}

//Check if the Query has run successfully
1
Praveen