Как добавить произвольные типы записей в главную RSS ленту?

WordPress по умолчанию не включает в основную RSS ленту сайта записи произвольных типов (в ней публикуются только стандартные записи - 'post'). Это можно исправить с помощью небольшого сниппета кода, добавленного в файл functions.php вашей темы:

//добавление произвольных типов в RSS ленту start
function wph_feed_all($vars) {
    if (isset($vars['feed']) && !isset($vars['post_type']))
        $vars['post_type'] = array('post', 'custom_type1', 'custom_type2');
    return $vars;
}
add_filter('request', 'wph_feed_all');
//добавление произвольных типов в RSS ленту end

Где 'custom_type1' и 'custom_type2' это ваши произвольные типы записей. С помощью этого же кода можно добавить в RSS ленту еще и страницы вашего сайта. Для этого включите в указанный код тип 'page' и все страницы вашего сайта будут попадать в RSS ленту наравне с прочими записями.

Как вывести в виджете «Рубрики» пустые рубрики?

Вывод пустых рубрик

Стандартный виджет "Рубрики" не имеет опции настройки вывода пустых рубрик. Поэтому для вывода ссылок на пустые рубрики надо использовать специальный сниппет. Добавьте в файл functions.php вашей темы следующий код:

//вывод в виджете пустых рубрик start
function wph_show_empty_categories($cat_args) {
    $cat_args['hide_empty'] = 0;
    return $cat_args;
}
add_filter('widget_categories_args', 'wph_show_empty_categories');
//вывод в виджете пустых рубрик end

И в виджете рубрик вы тут же увидите ссылки на пустые (без записей) рубрики.

Как разрешить загрузку дополнительных типов файлов?

Формат svg по умолчанию запрещен

По умолчанию в WordPress запрещена загрузка некоторых типов файлов (список всех разрешенных типов файлов смотрите здесь). Например, при попытке загрузить картинку в формате SVG движок выдаст ошибку "Извините, тип этого файла не разрешён из соображений безопасности". Эту ситуацию можно исправить с помощью небольшого кода, добавленного в файл functions.php вашей темы:

Как выводить записи в RSS до тега <!—more—>?

Запись в RSS до тега more

В WordPress уже очень давно выпилили возможность выводить в RSS текст записей до тега <!--more--> (тег "Далее" в визуальном редакторе), оставив для вывода лишь два варианта: "Полный текст" и "Анонс". При выводе в RSS полного текста записи вы рискуете тем, что подписчики будут читать ваши статьи в своей RSS-читалке, не переходя на ваш сайт. При выводе же анонсов весьма велика вероятность, что вы не сможете заинтересовать читателей, так как анонс это маленький огрызок текста с вырезанной разметкой (картинок в анонсе не будет). Вот и выходит, что наилучшим вариантом для всех будет вывод в RSS текста записи до тега <!--more-->.

Как вывести список запланированных к публикации записей?

Свой виджет запланированных записей

Чтобы вывести список запланированных к публикации записей вовсе не обязательно устанавливать для этого какой-либо плагин. Это вполне можно сделать и вручную. Наиболее удобно выводить этот список в виде виджета в сайдбаре сайта.

Откройте файл sidebar.php вашей темы и найдите там что-то похожее этот код:

<?php dynamic_sidebar( 'sidebar-1' ); ?>

Это вызов функции вывода виджетов сайдбара. Так что у вас есть выбор куда вставить свой виджет запланированных записей - до или после виджетов сайдбара.

Как открыть страницу «Все настройки» в админке?

Меню Все настройки

В WordPress есть своя собственная страница скрытых настроек (по аналогии со страницей about:config в браузерах). Чтобы получить к ней доступ вы должны добавить в файл functions.php вашей темы следующий код:

//вывод скрытого меню "Все настройки" start
function wph_all_settings() {
    add_options_page(__('All Settings'), __('All Settings'), 
    'administrator', 'options.php');
}
add_action('admin_menu', 'wph_all_settings');
//вывод скрытого меню "Все настройки" end

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

Как задержать публикацию записей в RSS?

WordPress обновляет RSS ленты сайта немедленно после публикации записей. Это плохо тем, что лишает вас возможности быстро исправить опечатку в только что опубликованной записи. То есть, конечно, опечатку вы исправите, и запись будет обновлена в RSS ленте тоже. Беда тут только в том, что многие RSS читалки кэшируют RSS ленты и не будут их обновлять без появления в них нового контента (то есть новой записи). Чтобы избежать такой ситуации можно сделать задержку публикации записи в RSS с помощью такого кода в файле functions.php вашей темы:

//задержка публикации записей в RSS start 
function whp_feed_pause($where) {
    global $wpdb;
    if (is_feed()) {
         $now = gmdate('Y-m-d H:i:s');
         $wait = '5';
         $device = 'MINUTE';
         $where .= " AND TIMESTAMPDIFF($device, 
         $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'whp_feed_pause'); 
//задержка публикации записей в RSS end

Где число 5 это количество минут задержки перед публикацией записей в RSS.