7

このコードで投稿を挿入しようとしています:

$my_post = array(
                'post_type'    => "essays",
                'post_title'    => 'TEST 3',
                //'post_content'  => $content,
                'post_status'   => 'draft',
                'post_author'   => 1,
                //'post_category' => $cat,
                'tags_input'    => 'TQM,tag',
        );

$post_id = wp_insert_post($my_post);

タグ以外はすべて正常に機能し、タグは挿入されません。何か案が?

4

5 に答える 5

3

あなたの投稿タイプはessaysです。カスタム投稿タイプは、デフォルトではタグをサポートしていません。tagsそれらに分類法を追加する必要があります。

http://codex.wordpress.org/Taxonomies

http://codex.wordpress.org/Function_Reference/register_taxonomy

于 2012-05-03T15:49:30.630 に答える
0

タグとカテゴリを含む投稿を挿入するには、これを行います

$pid=wp_insert_post($new_post);
wp_set_post_terms( $pid, $arrayoftags);
wp_set_post_categories( $pid, $arrayofcategories );

したがって、 $pid は投稿IDです。基本的に、最初にタグまたはカテゴリなしで投稿を挿入すると、関数は投稿のIDを返します.wp_insert_postのソースコードを見ると、タグとカテゴリをそれぞれの関数で挿入するために使用できますカスタム投稿タイプでは関数が別の方法で機能することに気付くでしょう。組み込み関数を使用することでより良い解決策があるため、コードをハックしたくないので、これ以上詳しく調べませんでした

于 2012-08-20T22:20:26.077 に答える
0

こんにちは、私はこの答えをどこかで見つけました。これはあなたを助けるかもしれません

//first get the term (I used slug, but  you can aslo use 'name'), see: http://codex.wordpress.org/Function_Reference/get_term_by
$term = get_term_by( 'slug', 'your custom term slug', 'your custom taxonomy' );
//then get the term_id
$term_id = $term->term_id;
//Use 'tax_input' instead of 'post_category' and provide the term_id:
'tax_input' => array( 'your taxonomy' => $term_id )

それが役立つことを願っています。

于 2012-11-23T15:50:22.060 に答える
-1

タグと投稿カテゴリは、1 つだけであっても、配列として入力する必要があります。そう'tags_input' => 'TQM,tag' あるべき'tags_input' => array('TQM,tag')

于 2012-05-03T17:15:28.333 に答える