Intereting Posts
Поддерживает ли WordPress входные данные ко всем функциям? (например, get_user_meta и insert_user_meta) Изображения СМИ, получающие собственные страницы / сообщения и собственный URL-адрес Удаление прерывания WordPress из короткого кода на странице / Обновление сообщения Как отображать разные шаблоны сообщений на основе автора? Как я могу заменить URL-адрес oEmbed в сообщении с фактическим встраиванием HTML Многопользовательский конфликт WordPress Применить функцию к update_option Variable Есть ли условный тег для последнего сообщения или мне нужен запрос? WP 3.0.5 – Пользовательские сообщения, соответствующие двум таксономии Различный путь загрузки для каждого типа файла Изменение размера изображений Как остановить создание WordPress URL-адресов, которые не существуют Сообщение через wp-admin и через приложение iOS, те же самые крючки и триггеры? Функция WordPress, например, is_category для подкатегории? is_subcategory? Создание пользовательских страниц профиля на роль пользователя

Как получить список ссылок на категории WordPress?

Я пытаюсь создать пользовательскую карту сайта для своих категорий блога WordPress. Для этого я добавил код ниже в моем файле functions.php, и когда я его сохраню, мой блог станет белым. Ничего не видно. Я удалил этот код, перейдя по FTP, а потом все стало нормально.

Теперь я хочу сделать и использовать этот код. Теперь может кто-нибудь помочь мне исправить этот код?

/* ------------------------------------------------------------------------- * * Custom Dynamic XML Sitemap Generator For Categories /* ------------------------------------------------------------------------- */ add_action("publish_post", "cat_create_sitemap"); add_action("publish_page", "cat_create_sitemap"); function cat_create_sitemap() { $categoriesForSitemap = get_categories(array( 'hide_empty' => 0, depth => 0, 'hierarchical' => false )); $sitemap = '<?xml version="1.0" encoding="UTF-8"?>'; $sitemap .= '<?xml-stylesheet type="text/xsl" href="sitemap-style.xsl"?>'; $sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; foreach($categoriesForSitemap as $category) { setup_postdata($category); $categorydate = explode(" ", $category->category_modified); $sitemap .= '<url>'. '<loc>'. get_permalink($category->ID) .'</loc>'. '<priority>1</priority>'. '<lastmod>'. $categorydate[0] .'</lastmod>'. '<changefreq>daily</changefreq>'. '</url>'; } $sitemap .= '</urlset>'; $fp = fopen(ABSPATH . "custom-cat-sitemap.xml", 'w'); fwrite($fp, $sitemap); fclose($fp); } 

Ошибка Fist, которую я вижу, является синтаксической ошибкой:

 depth => 0 

должно быть

 "depth" => 0 

Вторая ошибка заключается в том, что вы используете объект категории, такой как объект post. Ни одна из этих строк не будет работать:

Нет данных для установки. Удалите эту строку:

 setup_postdata($category); 

Объект категории не имеет свойства category_modified. Возможно, вам нужна дата последнего опубликованного сообщения в категории (это другой вопрос) ???

 //Not valid property $category->category_modified; 

get_permalink() для сообщений, для категорий используйте get_category_link() . Кроме того, $ category-> ID не является допустимым свойством объекта категории, вместо этого используйте $ category-> term_id:

 //Incorrect get_permalink($category->ID); //Correct get_category_link($category->term_id);