Блог Анфіси Бреус | Як видалити непотрібні сторінки зі сторінки "Карта сайту"
Уф, давно я не писала на блозі. У зв'язку з виходом нової версії шаблону AB-Inspiration 5.0 , Випуску нового плагіна «Вхідні сторінка» , І оновлення плагіна «Жива форма + Слайдер» кінець року був гарячим і роботи додалося :). Але це приємні клопоти. Спасибі всім, хто активно почав тестувати все три нововведення, спасибі за Ваші зауваження і побажання. Я намагалася тут же виправляти або додавати нові фішки.
Сьогодні хочу розповісти про те, як прибирати непотрібні сторінки з «Карти сайту». Цей функціонал я вбудувала на численні прохання, і він тепер доступний користувачам шаблону AB-Inspiration з версії 5.6.
Навіщо видаляти сторінки зі сторінки «Карта сайту»?
Найбільше запитів було на видалення сторінок «Перенаправлення», і перше, що я хотіла зробити, просто прописати в шаблоні «Карта сайту» не включати сторінки створені за допомогою шаблону «Перенаправлення».
Але потім подумала, що можуть бути й інші причини виключити будь-яку сторінку з карти сайту. Так я вирішила вбудувати додаткове «Мета поле» під редактором сторінок, де Ви можете просто відзначити галочкою ті сторінки, які хочете виключити.
Трохи докладніше про те, що я зробила в шаблоні, для тих, кому цікаво, як я це зробила або для тих, хто хоче реалізувати щось подібне самостійно.
Для виключення певних сторінок з сторінки «Карта сайту» я внесла зміни в 2 файли в шаблоні AB-Inspiration:
1. function.php - додала метабокс до сторінок
add_action ( 'add_meta_boxes', 'sitemap_exclude_page'); function sitemap_exclude_page () {add_meta_box ( 'sitemap-meta-box-id', 'Виключити з карти сайту', 'meta_box_callback', 'page', 'normal', 'high'); } Function meta_box_callback ($ post) {$ values = get_post_custom ($ post-> ID); $ Selected = isset ($ values [ 'sitemap_exclude_page'])? $ Values [ 'sitemap_exclude_page'] [0]: ''; wp_nonce_field ( 'my_meta_box_nonce', 'meta_box_nonce'); ?> <P> <input type = "checkbox" name = "sitemap_exclude_page" id = "sitemap_exclude_page" value = "1" <? Php if ($ selected == 1) {?> Checked = "checked" <? Php} ?> /> Виключити сторінку з карти сайту <br> </ p> <? php} add_action ( 'save_post', 'sitemap_exclude_page_save'); function sitemap_exclude_page_save ($ post_id) {global $ post; if (defined ( 'DOING_AUTOSAVE') && DOING_AUTOSAVE) {return; if (! isset ($ _POST [ 'meta_box_nonce']) ||! wp_verify_nonce ($ _POST [ 'meta_box_nonce'], 'my_meta_box_nonce')) return; if (! current_user_can ( 'edit_post')) return; }; update_post_meta ($ post_id, 'sitemap_exclude_page', $ _POST [ 'sitemap_exclude_page']); }
2. sitemap.php - додала ID сторінок
<? Php global $ wpdb; $ Sep = ''; // запит до бази даних, вибір ID сторінок виключених з карти сайту $ sitemap = $ wpdb-> get_results ( "SELECT meta_id, post_id FROM $ wpdb-> postmeta WHERE meta_key = 'sitemap_exclude_page' AND meta_value = '1'"); // виведення всіх ID сторінок через кому виключених з карти сайту foreach ($ sitemap as $ sitema) {$ excludesitemap. = $ Sep. $ Sitema-> post_id; $ Sep = ','; }?> // висновок сторінок на сторінці "Карта сайту" <? Php wp_list_pages ( 'exclude ='. $ Excludesitemap. '& Depth = 0 & sort_column = menu_order & title_li ='); ?>
Шаблон AB-Inspiration 5.6 вже доступний для оновлення.
PS До речі, якщо Ви новачок і мрієте стати, ПО СПРАВЖНЬОМУ, інфобізмесменом, на початку березня я розповім про наш таємному експерименті.
Чому таємному. Все просто - просто НЕ ЛЮБЛЮ базікати. Спочатку справа, і якщо є результат можна повторить багатьом, ділюся ДОСВІДОМ.
Експеримент називається просто «Інфобізнес від новачка до професіонала». Результати є і відмінні! Прийшов час ділиться з Вами досвідом. Подробиці на блозі скоро ... Це буде чесна розповідь ...
Як видалити непотрібні сторінки зі сторінки «Карта сайту»
12 голосів
Середня оцінка: 4.7 із 5
Gt; <P> <input type = "checkbox" name = "sitemap_exclude_page" id = "sitemap_exclude_page" value = "1" <?
Php if ($ selected == 1) {?
Gt; Checked = "checked" <?
Php} ?
Gt; /> Виключити сторінку з карти сайту <br> </ p> <?
Sitema-> post_id; $ Sep = ','; }?
Gt; // висновок сторінок на сторінці "Карта сайту" <?
Php wp_list_pages ( 'exclude ='. $ Excludesitemap. '& Depth = 0 & sort_column = menu_order & title_li ='); ?