2017-10-08 11 views
0

私のWordPressプラグインの起動時に実行する次のコードがあります。WP_insert_postもメニュー項目を追加しています

これは、ページを作成し、それはまた、私はしたくないのナビゲーションメニューアイテムを追加します。

私が間違っているところ、私は見ることができないとして誰かが私を助けることができます。

wp_postsテーブルのデータベースを調べるので、post_dateはpost_type Pageとnav_menu_itemの場合とまったく同じなので、ナビゲーションメニュー項目も追加されています。

public static function activate() { 
    global $myplugin; 
    require_once plugin_dir_path(__FILE__) . 'install-sql.php'; 

    //Add a front end page 
    $author_id = 9; 
    $slug = 'myplugin'; 
    $title = "My Plugin"; 
    $content = '[myplugin_render]'; 
    $page = array(
     'post_author'   => 1, 
     'post_content'   => $content, 
     'post_title'   => $title, 
     'post_status'   => 'publish', 
     'post_type'    => 'page', 
     'comment_status'  => 'closed', 
     'ping_status'   => 'closed', 
     'guid'     => '', 
     'import_id'    => 0, 
     'context'    => '' 
    ); 
    if(null == get_page_by_title($title)) { 
     wp_insert_post($page); 
    } else { 
     $page = get_page_by_title($title); 
     if (is_page($page->ID)) { 
      $post = array(
       'ID'   => $page->ID, 
       'post_content' => $content 
       ); 
      wp_update_post($post); 
     } 
    } 



} 

答えて

1

野生の推測:設定の下で、チェックする「自動的にこのメニューに新しいトップレベルのページを追加する」の横にあるチェックボックスがあり、あなたのメニューを選択し、外観=>メニューに行きますか?

それがオフの場合:

+0

あなたは私の友人です、天才です!どうもありがとうございました。 – Caveman

関連する問題