В заметке собраны части кода, добавляющие те или иные фичи для WordPress. Для использования, поместите код понравившейся фичи в functions.php текущей темы.
Как подключить скрипты в head или footer
Чтобы вставить код метрики, карт или любой другой js-скрипт нужный вашему сайту, воспользуйтесь следующим кодом.
Для подключения скриптов в head:
// Подключение скриптов в head function td_head_scripts() { ?><!-- ниже ваши js скрипты -->
<?php
} add_action( 'wp_head', 'td_head_scripts' );
Для подключения скриптов в footer:
// Подключение скриптов в footer function td_footer_scripts() { ?><!-- ниже ваши js скрипты -->
<?php
} add_action( 'wp_footer', 'td_footer_scripts' );
Как добавить контент или код в конец или начало поста
Бывает, что в начало или конец поста нужно вставить контент или блок кода повторяющийся для всех записей, например текстовое приветствие, подпись, кнопочки поделиться или формочка приема денег. И не всегда для этого хочется ковырять шаблон темы или ставить еще один плагин.
// Функция добавляет контент после записи function td_custom_content($content){ if (is_single()) { $content .= '<p>Контент</p>'; } return $content; } add_filter('the_content', 'td_custom_content');
Блок с контентом будет добавлен в конец поста. Аналогично можно добавить блок в начало поста:
// Функция добавляет контент до записи function td_custom_content($content){ if (is_single()) { $temp = '<p>Контент</p>'; $content = $temp . $content; } return $content; } add_filter('the_content', 'td_custom_content');
Как загружать картинки в папки, отдельные для каждого поста
WordPress при загрузке медифайлов раскладывает их в папки по месяцам и годам закачки. Это не удобно. Ниже код, который при загрузке медиафайлов будет создавать папку с именем поста и класть загружаемые фалы в нее.
// Функция кладет загружаемые файлы изображений в папку с именем поста add_filter('wp_handle_upload_prefilter', 'tp_handle_upload_prefilter'); add_filter('wp_handle_upload', 'tp_handle_upload'); function tp_handle_upload_prefilter( $file ) { add_filter('upload_dir', 'tp_custom_upload_dir'); return $file; } function tp_handle_upload( $fileinfo ) { remove_filter('upload_dir', 'tp_custom_upload_dir'); return $fileinfo; } function tp_custom_upload_dir($path) { $use_default_dir = ( isset($_REQUEST['post_id'] ) && $_REQUEST['post_id'] == 0 ) ? true : false; if( !empty( $path['error'] ) || $use_default_dir ) return $path; $the_post = get_post($_REQUEST['post_id']); $customdir = '/' . $the_post->post_name; $path['path'] = str_replace($path['subdir'], '', $path['path']); $path['url'] = str_replace($path['subdir'], '', $path['url']); $path['subdir'] = $customdir; $path['path'] .= $customdir; $path['url'] .= $customdir; return $path; }
Как убрать подпись Личное у личных записей
// Функция убирает подпись личное у личных записей function td_private_title_format() { return '%s'; } add_filter( 'private_title_format', 'td_private_title_format' );
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.