Проверяем, содержится ли в записи/странице галлерея
Добавление этого сниппета в вашу тему 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
