Самые полезные сниппеты wordpress

Опубликовано: 01.09.2018

видео Самые полезные сниппеты wordpress

Ускоряем разработку: Sublime Text. Сниппеты

Рассмотрим топ полезных фрагментов кода (сниппетов) для wordpress.

Как воспользоваться сниппетами?



1. Вставить в файл functions.php.

Чтобы открыть файл functions.php нужно войти в админку wordpress, в левом меню выбрать пункт «Внешний вид», его подпункт «Редактор», справа в списке шаблонов найти файл functions.php и открыть его. Далее можете в самый низ кода файл functions вставить код сниппета.

Но не забывайте, есть вы обновите/измените тему (шаблон) сайта файл functions.php тоже поменяется.


Оптимизация скорости сайта на #WordPress. Серия #6. Ускоряем виджеты

2. Создать дочернюю тему (о том как её создать читайте здесь — «codex.wordpress.org/Дочерние_темы»).

3. Создать плагин (как создать плагин wordpress читайте тут — «mnogoblog.ru/sozdaem-prostoj-plagin-wordpress-mnogoblogplugin».

Также перед тем как изменять код файлов вашего сайта — не забудьте сделать резервную копию сайта , что позволит восстановить работу сайта при допущении ошибки.

А теперь перейдем непосредственно к СНИППЕТАМ WORDPRESS:

1. Добавляем возможность использование шорткодов в виджетах wordpress:

add_filter( 'widget_text', 'do_shortcode' );

После вставки данного сниппета вы сможете использовать шорткоды в виджете с названием «ТЕКСТ».

2. Как заработать деньги в интернете.

Для начала вам нужно скачать программу Форекс , после изучить основы торговли финансовыми инструментами, затем создать демо-счет в программе и попробовать заработать свой первый миллион.

3. Перенаправляем новых, только что зарегистрированных, пользователей на определенную страницу сайта:

function wps_registration_redirect(){ return home_url( '/finished/' ); } add_filter( 'registration_redirect', 'wps_registration_redirect' );

Здесь поменяйте «/finished/» на url, на который должен перейти пользователь после завершения процедуры регистрации на вашем сайте.

4. Изменяем количество сохраненный редакций записи/страницы wordpress:

При каждом изменении записи/страницы wordpress периодически записывает ее сохраненную копию (редакцию) в Базу Данных wordpress, что увеличивает её размеры, желательно ограничить количество сохраненных копий записи/страниц до разумных значений, например до 3-5.

if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5); if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);

5. Показать Дату публикации поста (записи), а также Дату последнего изменения поста (записи).

Опубликовано <?php the_time('F jS, Y') ?> <?php $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time != $u_time) { echo " и последние изменения"; the_modified_time('F jS, Y'); echo ". "; } ?>

6. Скрыть версию wordpress, которую использует ваш сайт:

<?php // Remove the version number of WP // Warning - this info is also available in the readme.html file in your root directory - delete this file! remove_action('wp_head', 'wp_generator'); ?>

Есть еще более функциональный сниппет для скрытия версии wordpress из всех источников (RSS ленты, мета-тегов, в стоках запроса к скриптам и стилям):

/* Hide WP version strings from scripts and styles * @return {string} $src * @filter script_loader_src * @filter style_loader_src */ function fjarrett_remove_wp_version_strings( $src ) { global $wp_version; parse_str(parse_url($src, PHP_URL_QUERY), $query); if ( !empty($query['ver']) && $query['ver'] === $wp_version ) { $src = remove_query_arg('ver', $src); } return $src; } add_filter( 'script_loader_src', 'fjarrett_remove_wp_version_strings' ); add_filter( 'style_loader_src', 'fjarrett_remove_wp_version_strings' ); /* Hide WP version strings from generator meta tag */ function mnogoblog_remove_version() { return ''; } add_filter('the_generator', 'mnogoblog_remove_version');

7. Скрыть сообщение о необходимости обновления движка wordpress:

// Hide WordPress Update function wp_hide_update() { remove_action('admin_notices', 'update_nag', 3); } add_action('admin_menu','wp_hide_update');

8. Удалить поле URL из формы комментариев:

function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields');

9. Отключить автоматическое сжатие JPEG в wordpress:

Если вы фотограф и не хотите, чтобы wordpress сжимал ваше фото, тем самым ухудшал их качество или же вы используете wordpress плагины, которые более эффективно сжимают изображения, например: Optimus или WP Smush, то можно воспользоваться следующим сниппетом:

add_filter( 'jpeg_quality', 'smashing_jpeg_quality' ); function smashing_jpeg_quality() { return 100; }

10. Требуем обязательной публикации МИНИАТЮРЫ ЗАПИСИ.

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

add_action('save_post', 'wpds_check_thumbnail'); add_action('admin_notices', 'wpds_thumbnail_error'); function wpds_check_thumbnail($post_id) { // change to any custom post type if(get_post_type($post_id) != 'post') return; if ( !has_post_thumbnail( $post_id ) ) { // set a transient to show the users an admin message set_transient( "has_post_thumbnail", "no" ); // unhook this function so it doesn't loop infinitely remove_action('save_post', 'wpds_check_thumbnail'); // update the post set it to draft wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'wpds_check_thumbnail'); } else { delete_transient( "has_post_thumbnail" ); } } function wpds_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "has_post_thumbnail" ) == "no" ) { echo " <div id="message" class="error"> You must select Featured Image. Your Post is saved but it can not be published. </div> "; delete_transient( "has_post_thumbnail" ); } }

11. Заменяем приветствие в админке wordpress при входе пользователя на более оригинальную фразу.

function replace_howdy( $wp_admin_bar ) { $my_account=$wp_admin_bar->get_node('my-account'); $newtitle = str_replace( 'Howdy,', 'Logged in as', $my_account->title ); $wp_admin_bar->add_node( array( 'id' => 'my-account', 'title' => $newtitle, ) ); } add_filter( 'admin_bar_menu', 'replace_howdy',25 );

Здесь поменяйте «Logged in as» на ту фразу, которой хотите приветствовать входящего пользователя.

12. Запрещаем выводить записи определенной категории на главной странице сайта:

function exclude_category_home( $query ) { if ( $query->is_home ) { $query->set( 'cat', '-5, -34' ); } return $query; } add_filter( 'pre_get_posts', 'exclude_category_home' );

В данном сниппете на главной странице сайта не будут выводиться категории с id равными 5 и 34.

13. Изменяем количество выводимых результатов при использовании функции «Поиска по сайту»:

function limit_posts_per_search_page() { if ( is_search() ) set_query_var('posts_per_archive_page', 20); } add_filter('pre_get_posts', 'limit_posts_per_search_page');

14. Убрать надпись «Защищено» или «Личное», если вы публикуете защищенные паролем или личные записи:

function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace "Protected:" with '' // What to replace "Private:" with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');
rss