Запись старше чем…
Добавление первого блока кода в ваш файл functions.php позволит вам проверить возраст записи, чтобы узнать старше ли она чем заданное количество дней. Сниппет пригодится, если вы хотите вывести какую-либо информацию, связанную с текущей записью после определенного вами количества дней или даже прекратить вывод всей записи.
Вставляем следующий код в functions.php:
function is_old_post($days = 5) { $days = (int) $days; $offset = $days*60*60*24; if ( get_post_time() < date('U') - $offset ) return true; return false; }
А этот код — в цикл (single.php например)
if ( is_old_post(10) ) { // делаем что-то, если запись старше определенного количества дней } else { // делаем что-то, если запись НЕ старше определенного количества дней }
Исключаем страницы из списка редактирования страниц в админке
Это очень полезный и в то же время маленький сниппет, который исключит страницы в зависимости от их ID из списка страниц в админке. Просто добавляем его в файл functions.php вашей текущей темы wordpress и указываем в массиве ID страниц, которые вы хотите скрыть. Учтите, что сниппет не запрещает редактирование записи, он только лишь скрывает ее из виду.
add_action( 'pre_get_posts' ,'exclude_this_page' ); function exclude_this_page( $query ) { if( !is_admin() ) return $query; global $pagenow; if( 'edit.php' == $pagenow && ( get_query_var('post_type') && 'page' == get_query_var('post_type') ) ) $query->set( 'post__not_in', array(23,28,30) ); // page id return $query; }
Отображаем вложенные миниатюры с метаданными изображений
Добавляем этот сниппет в цикл вашего шаблона index.php, и вы увидите список всех вложений к записи со следующими метаданными (Credit, Camera, Focal Length, Aperture, ISO, Shutter Speed, Time Stamp, Copyright).
<?php if($images =& get_children( 'post_type=attachment' )){ foreach($images as $id => $attachment ){ echo '<div>'; echo wp_get_attachment_image( $id, 'thumb' )."<br />"; $meta = wp_get_attachment_metadata($id); echo "Credit: ".$meta[image_meta][credit]."<br /> "; echo "Camera: ".$meta[image_meta][camera]."<br />"; echo "Focal length: ".$meta[image_meta][focal_length]."<br />"; echo "Aperture: ".$meta[image_meta][aperture]."<br />"; echo "ISO: ".$meta[image_meta][iso]."<br />"; echo "Shutter speed: ".$meta[image_meta][shutter_speed]."<br />"; echo "Time Stamp: ".$meta[image_meta][created_timestamp]."<br />"; echo "Copyright: ".$meta[image_meta][copyright]; echo '</div>'; } } ?>
Устанавливаем минимальную длину комментария в WordPress
Добавляем этот замечательный сниппет от Paul Underwood в файл functions.php вашей текущей темы и Вордпресс установит минимальную требуемую длину комментария. Количество символов в комментарии ниже установленного значения (в примере это 20) заставит ВП отобразить сообщение об ошибке «All comments must be at least 20 characters long.»
add_filter( 'preprocess_comment', 'minimal_comment_length' ); function minimal_comment_length( $commentdata ) { $minimalCommentLength = 20; if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){ wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' ); } return $commentdata; }
Автоматически добавляем пользовательское поле сразу после публикации записи/страницы
Добавление этого сниппета в файл functions.php вашей текущей темы приведет к тому, что пользовательское поле будет автоматически добавляться сразу после публикации записи/страницы. Не забудьте указать свои значения для FIELD_NAME and the CUSTOM VALUE.
add_action('publish_page', 'add_custom_field_automatically'); add_action('publish_post'. 'add_custom_field_automatically'); function add_custom_field_automatically($post_ID) { global $wpdb; if(!wp_is_post_revision($post_ID)) { add_post_meta($post_ID, 'FIELD_NAME', 'CUSTOM VALUE', true); } }
Заставляем определенные страницы принудительно работать через ssl, https
Очень просто заставить определенные страницы принудительно работать через ssl с помощью следующего сниппета. Просто добавляем код в файл functions.php вашей текущей темы и указываем желаемые ID записи/страницы.
function wps_force_ssl( $force_ssl, $post_id = 0, $url = '' ) { if ( $post_id == 25 ) { return true } return $force_ssl; } add_filter('force_ssl' , 'wps_force_ssl', 10, 3);
Убираем/отключаем поле Сайт в форме комментариев
С помощью следующего сниппета можно убрать/отключить поле Сайт и вашей формы комментариев. Для этого просто добавить код в файл functions.php вашей текущей темы:
add_filter('comment_form_default_fields', 'unset_url_field'); function unset_url_field($fields){ if(isset($fields['url'])) unset($fields['url']); return $fields; }