Добавить страницу в меню программно после создания - PullRequest
0 голосов
/ 30 ноября 2018

Я пытался понять это часами, и мне не повезло.Я знаю, что мне чего-то не хватает, но я нигде не могу найти это в StackOverflow.

Я хочу добавить добавляемую страницу в существующее меню (которое будет пустым)или удалите текущее меню, создайте новое меню и добавьте страницу таким образом, в зависимости от того, что проще.

Вот код, который я использую для добавления страницы (и редактирования / сохранения) из интерфейса плагина:

$titlep2 = $_REQUEST['titlep2'];
$post_text2 = $_REQUEST['post_text2'];
if($titlep2 != ""){
$posthwe_id2 = get_option("hwepag2");
    if($posthwe_id2 == ""){ 
        $hwea2 = array('post_title' => $titlep2,
                       'post_content' => $post_text2,
                       'post_status' => 'publish',
                       'post_type' => 'page');
        $post_idp2 = wp_insert_post($hwea2);
        update_option("hwepag2",$post_idp2);
    }else{
        $my_post2 = array('ID'           => $posthwe_id2,
                          'post_title'   => $titlep2,
                          'post_content' => $post_text2,
        );
        wp_update_post( $my_post2 );
    }
}

Я пробовал много вариантов wp_update_nav_menu_item, но не могу заставить его работать.У меня есть существующее меню, но оно будет пустым при добавлении этого поста (это для новых / свежих сайтов, которые я разрабатываю в автономном режиме).В таком случае, кажется, что menuID, который является «верхушкой меню», не существует в UL до добавления элемента в меню.

Итак, все в порядке, если текущее меню необходимо удалить,новый созданный, затем страница, которую я добавляю, добавлена ​​в это меню.

Большое спасибо!

1 Ответ

0 голосов
/ 30 ноября 2018

Попробуйте, если это еще не сделано. Перейдите в меню «Внешний вид»> «Меню»> «Выберите свое меню, если у вас их несколько»> установите флажок внизу под надписью «Автоматически добавлять новые страницы верхнего уровня в это меню»

...