X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как добавить кастомные страницы в меню
nonamez
nonamez
Topic Starter сообщение 28.1.2016, 23:17; Ответить: nonamez
Сообщение #1


Новичок
*

Группа: User
Сообщений: 33
Регистрация: 18.1.2016
Поблагодарили: 8 раз
Репутация:   0  


Заметил что тут есть достаточное количество вп спецов - вопрос собственно к вам. Есть у меня шаблон страницы в которым создаются через кастомные пейджы вот так:

Код
$category = wp_insert_term($name, 'gp_hubs');

foreach ($sub_categories as $sub_cat) {
   wp_insert_term($sub_cat, 'gp_hubs', ['parent' => $category['term_id']]);
}


Каждую из этих страниц мне нужно добавить в верхнее меню. Пробовал вот так:

Код
$category = wp_insert_term($name, 'gp_hubs');

foreach ($sub_categories as $sub_cat) {
    $page = wp_insert_term($sub_cat, 'gp_hubs', ['parent' => $category['term_id']]);

    wp_update_nav_menu_item(self::MENU_ID, 0,  array(
        'menu-item-object' => 'page',
        'menu-item-parent-id' => $parent_menu_id,
        'menu-item-object-id' => $page['term_id'],
        'menu-item-type' => 'gp_hubs',
        'menu-item-status' => 'publish'
        )
    );
}


Проблема в том что в меню вставляются пустые ссылки (без тайтлов и урлов). Если вставлять через админку то всё ок:

Прикрепленное изображение


Страниц довольно таки много, порядка 200 и каждую вставлять ручками через админку довольно таки гемороно...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 29.1.2016, 0:47; Ответить: Gerga
Сообщение #2


Бывалый
****

Группа: User
Сообщений: 265
Регистрация: 15.2.2013
Из: Одесса
Поблагодарили: 180 раз
Репутация:   47  


nonamez, что-то типа этого должно получиться:
Код
$category = wp_insert_term($name, 'gp_hubs');

foreach ($sub_categories as $sub_cat) {
    $page = wp_insert_term($sub_cat, 'gp_hubs', array('parent' => $category['term_id']));
    $term_id = (int)$page['term_id'];
    wp_update_nav_menu_item(self::MENU_ID, 0,  array(
        'menu-item-object' => 'page',
        'menu-item-parent-id' => $parent_menu_id,
        'menu-item-object-id' => $term_id,
        'menu-item-url' => get_term_link( $term_id, 'gp_hubs' ),
        'menu-item-attr-title' => esc_attr( $sub_cat ),
        'menu-item-type' => 'gp_hubs',
        'menu-item-status' => 'publish'
        )
    );
}

Добавил menu-item-url и menu-item-attr-title, где menu-item-url - ссылка элемента меню, а menu-item-attr-title соответственно является атрибутом title для ссылки.

Документация

Сообщение отредактировал Gerga - 29.1.2016, 0:48


--------------------
Разработка на WordPress -> Верстка/Натяжка/Добавление функционала в шаблонах на WP


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nonamez
nonamez
Topic Starter сообщение 29.1.2016, 11:07; Ответить: nonamez
Сообщение #3


Новичок
*

Группа: User
Сообщений: 33
Регистрация: 18.1.2016
Поблагодарили: 8 раз
Репутация:   0  


Gerga, оно как бэ да. Но тут ты добавляешь статичный линк. Если вдруг в будущем изменится имя добавленного пейджа то ведь в меню будет старая ссылка...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 29.1.2016, 13:11; Ответить: Gerga
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 265
Регистрация: 15.2.2013
Из: Одесса
Поблагодарили: 180 раз
Репутация:   47  


nonamez, значит так:
Код
$category = wp_insert_term($name, 'gp_hubs');

foreach ($sub_categories as $sub_cat) {
    $page = wp_insert_term($sub_cat, 'gp_hubs', array('parent' => $category['term_id']));
    $term_id = (int)$page['term_id'];
    wp_update_nav_menu_item(self::MENU_ID, 0,  array(
        'menu-item-title' => $sub_cat,
        'menu-item-attr-title' => esc_attr( $sub_cat ),
        'menu-item-object-id' => $term_id,
        'menu-item-db-id' => 0,
        'menu-item-object' => 'gp_hubs',
        'menu-item-parent-id' => 0,
        'menu-item-type' => 'taxonomy',
        'menu-item-url' => get_term_link( $term_id, 'gp_hubs' ),
        'menu-item-status' => 'publish',        
    ));
}


--------------------
Разработка на WordPress -> Верстка/Натяжка/Добавление функционала в шаблонах на WP


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nonamez
nonamez
Topic Starter сообщение 29.1.2016, 20:48; Ответить: nonamez
Сообщение #5


Новичок
*

Группа: User
Сообщений: 33
Регистрация: 18.1.2016
Поблагодарили: 8 раз
Репутация:   0  


Цитата(Gerga @ 29.1.2016, 13:11) *
        'menu-item-url' => get_term_link( $term_id, 'gp_hubs' ),

Но ведь вот эта запись - она же статична получается? Или при изменение основной записи вордпресс её поменяет?

Да, в целос спасибо - помог очень.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 29.1.2016, 23:43; Ответить: Gerga
Сообщение #6


Бывалый
****

Группа: User
Сообщений: 265
Регистрация: 15.2.2013
Из: Одесса
Поблагодарили: 180 раз
Репутация:   47  


Цитата(nonamez @ 29.1.2016, 19:48) *
Или при изменение основной записи вордпресс её поменяет?

совершенно верно :)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Разработка на WordPress -> Верстка/Натяжка/Добавление функционала в шаблонах на WP
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как заработать новичку?
142 Emeralda 25748 Вчера, 17:07
автор: Vlad_Sokolov
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКак носить смартфоны диагональю 5.5 - 6.4 дюйма?
42 Room 5143 Вчера, 13:36
автор: wertu
Открытая тема (нет новых ответов) Как защитить свои данные в общественном Wi-Fi?
7 unazekoff 300 Вчера, 13:24
автор: alxpn
Открытая тема (нет новых ответов) Как раскрутить городской портал с помощью вирусной рекламы?
9 Wolfhound 846 22.5.2018, 23:42
автор: mherter
Открытая тема (нет новых ответов) Как использовать показатель SERP impressions из Яндекс.Вебмастера для анализа изменений в ранжировании
alexeytrudov.com - персональный блог SEO-аналитика
0 Luden 356 22.5.2018, 21:39
автор: Luden


 



RSS Текстовая версия Сейчас: 24.5.2018, 10:26
Дизайн