Проверяем, содержится ли в записи/странице галлерея
Добавление этого сниппета в вашу тему wordpress позволит вам проверить, содержит ли запись шорткод галереи. Добавьте этот код в шаблон single.php вашей темы ВП внутрь цикла.
if ( get_post_gallery() ){ echo 'есть галерея'; }else{ echo 'галереи не обнаружено'; }
Если вы хотите вывести галерею после проверки, в случае ее существования, замените ‘есть галерея’ на следующий код:
echo get_post_gallery();
Отображаем дефолтное сообщение, если цитаты у поста/страницы нет
Добавление этого сниппета в вашу тему wordpress позволит вам отображать установленное вами сообщение в случае, если цитата к записи не была добавлена.
$excerpt = get_the_excerpt(); if ( empty($excerpt) ) { echo "Нет цитаты для этой записи."; } echo $excerpt;
Шорткод для вывода IP-адреса пользователя на страницах и записях
Добавление этого сниппета в файл functions.php вашей темы wordpress позволит вам использовать шорткод для вывода IP-адреса пользователя на страницах и записях.
function display_user_ip() { $ip = $_SERVER['REMOTE_ADDR']; return $ip; } add_shortcode('user_ip', 'display_user_ip');
Сам шорткод:
[ip]
Редирект с основного сайта на поддомен
Добавляем следующий сниппет в файл functions.php вашей темы:
add_action('parse_request', 'wpds_redirect_to_sub_site'); function wpds_redirect_to_sub_site(){ global $wp; if('http://www.example.com' === $wp->request){ $url = 'http://www.example.com/subsite'; wp_redirect($url, 301); exit; } }
Результатом будет то, что все запросы к ‘www.example.com’ будут перенаправляться на ‘www.example.com/subsite’.
Отключаем рубрики, страницы авторов, архивы по датам и теги
Добавляем следующий сниппет в файл functions.php вашей темы:
add_action('template_redirect', 'wpse69948_archive_disabler'); function wpse69948_archive_disabler() { if(is_tag() || is_category() || is_date() || is_author()) { global $wp_query; $wp_query->set_404(); } }
Сниппет будет перенаправлять пользователей со страниц рубрик, страниц авторов, архивов по датам и тегам на страницу “404 not found”.
Записываем ошибки в файл
Добавляем следующий сниппет в файл “wp-config.php”, расположенный в корне вашего сайта:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0);
Сниппет будет протоколировать все уведомления об ошибках и предупреждения в файл debug.log в папке wp-content (если у Apache не будет прав на запись, то необходимо создать такой файл и выставить ему соответствующие права (666) )
Добавляем дефолтный контент в записи определенной рубрики
Добавляем следующий сниппет в файл functions.php вашей темы:
add_filter( 'default_content', 'wpds_default_products_content' ); function wpds_default_products_content( $content ) { $category_id = MY_CATEGORY_ID; if( isset( $_REQUEST['category_id'][0] ) && $category_id == $_REQUEST['category_id'][0] ) return "<div>контент по-умолчанию</div>"; }
Вместо MY_CATEGORY_ID указываем ID рубрики, а вместо «контент по-умолчанию» — соответственно ваш контент.
Режим только-чтение редактора TinMCE для определенных типов записей
Добавляем следующий сниппет в файл functions.php вашей темы:
add_filter('tiny_mce_before_init', 'myformatTinyMCE' ); function myformatTinyMCE($in) { global $post; if($post->post_type=='my_post_type') $in['readonly']='1'; return $in; }
Устанавливаем для E-mail content type в text/html
Добавляем следующий сниппет в файл functions.php вашей темы:
add_filter( 'wp_mail_content_type','mail_set_content_type' ); function mail_set_content_type(){ return "text/html"; }
Все письма, отправляемые с помощью функции WordPress wp_email будут рассматриваться как HTML письма по-умолчанию. И вы можете использовать в них HTML теги.
Добавляем ссылку Mailto ко всем e-mail адресам
Добавляем следующий сниппет в файл functions.php вашей темы:
add_filter('the_content','add_mailto',10,1) function add_mailto($content) { $pattern = "/([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})/i"; $replace = "\\1"; $text = preg_replace($pattern, $replace, $content); return htmlspecialchars($content); }
В результате все e-mail адреса в теле записей будут иметь ссылку с “mailto”. На самом деле, это не лучшая идея, потому как от спама отбоя не будет, но, возможно, кому-то сниппет будет полезен.
Источник: WPDevSnippets