2016-12-21 6 views
0

これが存在しない場合は、小さなスクリプトを作成してページを作成しますが、問題があります。 私が作成しようとしているページに親ページを与えたい。いくつかの単語でワードプレス。ページに親ページを与える方法PHPのdinamiccalyを作成する

のようなもの:

ページが作成されている場合は、それを親ページを与えます。

http://exemple.com/ParentPage/ChildPage

とバックエンドのショーで自動的にページで親ページではなく、「(なし親)」私は「

function check_pages_live(){ 
    if(get_page_by_title('Page Title') == NULL) { 
     create_pages_fly('Page Title'); 
    } 

} 
add_action('init','check_pages_live'); 

function create_pages_fly($pageName) { 

    $parentPost = get_post(2167); 

    $createPage = array(

     'post_title' => $pageName, 
     'post_content' => 'Some Content', 
     'post_status' => 'publish', 
     'post_author' => 1, 
     'post_type'  => 'page', 
     'post_parent' => $parentPost, 
     'post_name'  => $pageName 
    ); 

    // Insert the post into the database 
    wp_insert_post($createPage); 
} 

の属性:私はしたい

出力がありますget_postと親ページのIDを持つクラスを作成しようとしました。私はそれを関数に追加しましたが、何も動作しません。

誰かが私を助けることができますか?

docsを見てみると、多く

+0

質問はあなたの答えの鍵です:https://developer.wordpress.org/reference/functions/wp_insert_post/ – elicohenator

答えて

0

ありがとう、 'post_parent' 整数でなければなりません。これを 'post_parent' => 2167に設定すると、そのトリックが行われます。

+0

私は 'post_parent' => 2167を設定しようとしますが、そのトリックはしていないようです。 – Sago

+0

wp_insert_post($ createPage、true)の結果は何ですか? ?問題をさらにデバッグするのに役立つエラーメッセージが返されます。 –

+0

ありがとうございました。私はscritpを修正する。 wp_create_post($ createPage)の代わりに。私はwp_insert_post($ createPage)を試してみる。それが動作します – Sago

関連する問題