Параметры Кэширования
Не добавляет данные в кэш при выполнении запросов.
Cache_results(true/false)
Кэшировать ли информацию о посте.По умолчанию: true
update_post_meta_cache(true/false)
Кэшировать ли информацию о мета данных поста.По умолчанию: true
update_post_term_cache(true/false)
Кэшировать ли информацию о привязке поста к терминам и таксономиям.По умолчанию: true
lazy_load_term_meta(true/false)
Следует ли «лениво» загружать метаданные термина.
false — отключит отложенную загрузку метаданных термина и каждый вызов get_term_meta() будет обращаться в базу данных.По умолчанию: значение $update_post_term_cache
#3 Выведем 50 постов, но не будем добавлять в кэш информацию о терминах постов
Обычно эти функции использовать не нужно — кэш необходим! Однако, такой подход может пригодится в ряде случаев. Например, если нам нужно получить список заголовков постов и не нужна никакая другая информация о постах: ни о таксономиях ни о мета данных. Не загружая эту информацию мы может сохранить время на ненужных SQL запросах.
Заметка:
если используется плагин постоянного кэширования, все эти флаги устанавливаются в false по умолчанию, так как нет необходимости обновлять кэш при каждой загрузке страницы.
Настройка редакций
На данный момент, WordPress не предоставляет возможностей, чтобы отключить или изменить интервал создания резервных копий в браузере пользователя (каждые 15 секунд), но для копий, сохраняемых в базу данных сайта такие средства есть.
Для редактирования исходного кода потребуется специальный редактор, например, Notepad++. Также, потребуется FTP-клиент, например, FileZilla.
Настройка редакций с помощью файла wp-config.php
Подключаемся к сайту по FTP. Данные для доступа можно уточнить в поддержке Вашего хостинга.
Находим файл wp-config.php, расположенный в корневой папке сайта, и скачиваем его себе на компьютер.
В зависимости от потребностей, мы можем:
-
изменить интервал сохранения копий
define( ‘AUTOSAVE_INTERVAL’, 180 ); //Интервал в секундах, по умолчанию, 60
1 define(‘AUTOSAVE_INTERVAL’,180);//Интервал в секундах, по умолчанию, 60 -
ограничить количество создаваемых копий
define( ‘WP_POST_REVISIONS’, 4 ); //Для записей и страниц будут хранится только 4 последние редакции
1 define(‘WP_POST_REVISIONS’,4);//Для записей и страниц будут хранится только 4 последние редакции -
или совсем отключить создание редакций
define( ‘WP_POST_REVISIONS’, false );
1 define(‘WP_POST_REVISIONS’,false);
Открываем скачанный файл и задаем значение константам в соответствии с нашими предпочтениями.
Проверяем, что кодировка файла установлена в значении UTF-8 без BOM, сохраняем файл и заливаем обратно на сервер.
Теперь для каждой записи и страницы будет хранится не более 4 редакций, а автоматическая копия будет создаваться раз в 3 минуты.
Настройка редакций с помощью php-кода
Если вариант с wp-config.php не подходит, то можно ограничить количество редакций с помощью создания небольшого php-плагина и фильтра wp_revisions_to_keep.
<?php
function dco_wp_revisions_to_keep( $revisions ) {
return 4; //Для записей и страниц будут хранится только 4 последние редакции
}
add_filter( ‘wp_revisions_to_keep’, ‘dco_wp_revisions_to_keep’ );
1 |
<?php functiondco_wp_revisions_to_keep($revisions){ return4;//Для записей и страниц будут хранится только 4 последние редакции } add_filter(‘wp_revisions_to_keep’,’dco_wp_revisions_to_keep’); |
Также, мы можем задать максимальное количество редакций в зависимости от типа записи.
<?php
function dco_wp_revisions_to_keep( $revisions, $post ) {
if ( ‘page’ == $post->post_type ) {
return 10; // Для страниц
} else {
return 4; // Для записей
}
}
add_filter( ‘wp_revisions_to_keep’, ‘dco_wp_revisions_to_keep’, 10, 2 );
1 |
<?php functiondco_wp_revisions_to_keep($revisions,$post){ if(‘page’==$post->post_type){ return10;// Для страниц }else{ return4;// Для записей } } add_filter(‘wp_revisions_to_keep’,’dco_wp_revisions_to_keep’,10,2); |
При желании, мы можем доработать плагин и показывать пользователю уведомление при достижении максимального количества редакций.
function dco_admin_notices() {
global $post;
$revisions = wp_get_post_revisions( $post->ID );
if ( isset( $post ) && wp_revisions_to_keep( $post ) <= count( $revisions ) && get_current_screen()->base == ‘post’ ) { ?>
<div class=»error»>
<p>Достигнуто максимальное количество редакций. При дальнейшем редактировании наиболее старые редакции будут автоматически удаляться.</p>
</div>
<?php
}
}
add_action( ‘admin_notices’, ‘dco_admin_notices’ );
1 |
functiondco_admin_notices(){ global$post; $revisions=wp_get_post_revisions($post->ID); if(isset($post)&&wp_revisions_to_keep($post)<=count($revisions)&&get_current_screen()->base==’post’){?> <div class=»error»> <p>Достигнутомаксимальноеколичестворедакций.Придальнейшемредактированиинаиболеестарыередакциибудутавтоматическиудаляться.<p> <div> <?php } } add_action(‘admin_notices’,’dco_admin_notices’); |
Создаем новый файл, помещаем в него необходимый код после открывающего тега «<?php» и загружаем файл на сервер в папку /wp-content/mu-plugins/. Если папки «mu-plugins» нет, то её нужно будет создать. Скачать файл с примерами кода.
PHP-файлы, помещенные в папку «mu-plugins», подключаются автоматически и не требуют активации. Результат работы плагина можно увидеть на странице редактирования записи или страницы.
Real Custom Post Order for WordPress
Пользовательский порядок публикации сообщений, страниц, продуктов WooCommerce и пользовательских типов сообщений с помощью перетаскивания.
Многие сайты WordPress со временем растут, а вместе с ним и количество сообщений, страниц, продуктов WooCommerce и т. д. Может быть сложно найти правильный контент, связанный друг с другом, если вы используете порядок по дате публикации по умолчанию из WordPress. Пользовательский порядок публикаций — может помочь вам организовать ваш контент более интуитивно понятным способом.
Создайте собственный порядок содержимого, перетаскивая его для следующих типов содержимого:
- Сообщения / посты;
- Страницы;
- Продукты WooCommerce;
- Все остальные пользовательские типы сообщений.
Простая и интуитивно понятная сортировка вашего контента! Установите и активируйте плагин. Перейдите к определенному типу содержимого, например к страницам и отсортируйте его в произвольном порядке, перетаскивая строки:
Пользовательский порядок страниц
Real Custom Post Order полностью совместимым с другими плагинами. Например:
- Real Media Library;
- WooCommerce;
- Yoast SEO;
- wpSEO.
Теперь, дамы и господа, переходим к сортировке рубрик/категорий в WordPress.
Параметры Даты (времени)
Выводит посты принадлежащие определенному периоду времени.
Year(число)
4 цифры года (2013)
monthnum(число)
Номер месяцы (1 — 12)
w(число)
Неделя в году (с 0 до 53)
day(число)
День месяца (1 — 31)
hour(число)
Час (0 — 23)
minute(число)
Минута (0 — 60)
second(число)
Секунда (0 — 60)
m(число)
ГодМесяц (201306)
date_query(массив)
Параметры по которым будет отстроиться запрос. Работает на основе отдельного класса: WP_Date_Query .
Этот параметр указывается как массив, который может содержать вложенные массивы. Параметры: column , compare , relation для основного массива работают как параметры по умолчанию для вложенных массивов (если они есть).
Особенности страниц
Данный формат используют для статистического материала. Он
не меняется, а обновляется со временем. Примером являются раздела «О проекте»,
«Контакты», «Наши преимущества» и прочее. Часто они представлены категориями
основного или вторичного меню
Страницы являются важной частью структуры.
Исходя из ранее сказанного, делаем вывод, что без них полноценная иерархия
информации невозможна. Для понимания, проведем аналогию с деревом: страница
является стволом, а посты – ветками
Они обеспечивают цветение, рост, объем, но
не существуют без первого. Записи обеспечивают обновления, но должны быть
привязаны к объектам публикации. Функции последних возложены на те же страницы.
Они не привязаны к дате и времени, из-за чего имеют меньший вес. В отличие от
постов, страницы не ограничены в оформлении. Кардинальные отличия между ними не
редкость. Можно убрать боковую колонку, поменять фон, растянуть текст и т.д.
Имеет место и форма комментирования, хотя в большинство специалистов уверяют в
обратном. Просто ее часто отключают за ненадобностью. В числе прочих
особенностей отметим:
- отсутствие группировки по категориям и архивам;
- исключение меток;
- невозможность публикации в ленте;
- принципиально разные ссылки и страницы
отображения; - могут выполнять функции пунктов меню, опорных
элементов блога.
Обойтись без страниц невозможно. Это фундамент сайта, без
которого структура будет неполной. Не оставим без внимания и функционал
WordPress предусматривает
ряд полезных алгоритмов, которые заметно расширят возможности администратора.
Наиболее важной считается функция создания иерархии родительских и вложенных
страниц. То есть, внутри одной могут существовать другие
В формате записей это
реализовать невозможно. Также для страниц можно создавать кастомные шаблоны без
изменения темы. Об этой функции знают немногие, а ведь она очень пригодится при
создании посадочных разделов. Данный инструмент подойдет и для графической
уникализации сайта, создания внутри одного ресурса групп разной тематики.
WP_Query PHP код для вывода записей в разделе ПОИСКА
Для вывода WP_Query на странице поиска используем совершенно иной код:
<?php // использую совместно с функцией SearchFilter в Functions.php $mySearch =& new WP_Query(«s=$s & showposts=-1»); // Подсчет количества найденного: $num = $mySearch->post_count; echo «Найдено: «; echo $num; echo «записей»; wp_reset_query(); ?>
Для специальной обработки запроса WP_Query в файле search.php добавляем в файл functions.php своей темы следующий код:
// Сортировка по годам для search.php function SearchFilter($query) { if ($query->is_search) { // Ищет только в постах, но не на страницах $query->set(‘post_type’, ‘post’); // Происходит сортировка по году $query->set(‘meta_key’, ‘1Year’); // Который является значением номера $query->set(‘orderby’, ‘meta_value_num’); // И сортируется в обратном порядке $query->set(‘order’, ‘DESC’); } return $query; } add_filter(‘pre_get_posts’,’SearchFilter’);
Он сортирует записи в категории ПОИСК по произвольному полю ГОДЫ.
Сортировка и вывод постов wordpress через плагин
Итак, устанавливаем плагин page builder by site origin и создаем страницу. Можете для тренировки назвать ее another blog. После создания страницы, переключитесь со стандартного редактора вордпрес в режим page builder чтобы получить доступ к функционалу плагина. Далее поставьте ряд на всю ширину экрана нажав на кнопку «Добавить строку» и выберите виджет из категории «Виджеты Page Builder». Называется он «Цикл записей wordpress».
Чтобы ощутить всю мощь данного плагина нужно иметь на сайте достаточное количество постов. Если у вас мало записей, то добавьте несколько тестовых, привяжите одни к каким-нибудь категориям, другие к меткам, опубликуйте записи блога от лица разных авторов и назначьте им разные даты публикации. Таким образом у вас появится возможность сделать сортировку постов wordpress по разным критериям и в полной мере оценить функционал виджета «Цикл записей».