Запись старше чем…
Добавление первого блока кода в ваш файл 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;
}
