В заметке собраны части кода, добавляющие те или иные фичи для 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' );
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.



