Изменяем текст в метабоксе Опубликовать для произвольных типов записей
Добавление этого сниппета в файл functions.php вашей темы WordPress изменит текст в в метабоксе Опубликовать для определенных произвольных типов записей. Этот пример сделан для типа записи События, но тип можно изменить на то, что вам понадобится.
function wps_translation_mangler($translation, $text, $domain) { global $post; if ($post->post_type == 'events') { $translations = &get_translations_for_domain( $domain); if ( $text == 'Запланировано на: <b>%1$s</b>') { return $translations->translate( 'Дата события: <b>%1$s</b>' ); } if ( $text == 'Опубликовано в: <b>%1$s</b>') { return $translations->translate( 'Дата события: <b>%1$s</b>' ); } if ( $text == 'Опубликовать <b>немедленно</b>') { return $translations->translate( 'Дата события: <b>%1$s</b>' ); } } return $translation; } add_filter('gettext', 'wps_translation_mangler', 10, 4);
Выводим изображение граватара в качестве фавиконки
Добавление этого сниппета в файл functions.php вашей темы WordPress выведет ваш граватар в качестве фавиконки блога. Перейдите в ваше меню настроек для обновления дефолтного admin_email.
function gravatar_favicon() { $GetTheHash = md5(strtolower(trim(get_bloginfo('admin_email')))); return 'http://www.gravatar.com/avatar/' . $GetTheHash . '?s=16'; } function favicon() { echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.gravatar_favicon().'" />'; } add_action('wp_head', 'favicon');
Увеличиваем высоту поля Цитата
Добавление этого сниппета в файл functions.php вашей темы WordPress увеличит высоту поля Цитата в окне редактирования записи.
add_action('admin_head', 'excerpt_textarea_height'); function excerpt_textarea_height() { echo' <style type="text/css"> #excerpt{ height:500px; } </style> '; }
Добавляем классы к ссылкам Предыдущая/Следующая
Добавление этого сниппета в файл functions.php вашей темы WordPress добавит произвольный класс CSS к ссылкам Предыдущая/Следующая/
function add_class_next_post_link($html){ $html = str_replace('<a','<a class="next"',$html); return $html; } add_filter('next_post_link','add_class_next_post_link',10,1); function add_class_previous_post_link($html){ $html = str_replace('<a','<a class="prev"',$html); return $html; } add_filter('previous_post_link','add_class_previous_post_link',10,1);
Выводим количество комментариев с помощью шорткода
Добавление этого сниппета в файл functions.php вашей темы позволит вам вывести количество комментариев для любой записи путем простого использования шорткода [comments id=»23″ ], при этом заменив ID на ID записи, для которой нужно вывести кол-во комментов.
function comments_shortcode($atts) { extract( shortcode_atts( array( 'id' => '' ), $atts ) ); $num = 0; $post_id = $id; $queried_post = get_post($post_id); $cc = $queried_post->comment_count; if( $cc == $num || $cc > 1 ) : $cc = $cc.' Comments'; else : $cc = $cc.' Comment'; endif; $permalink = get_permalink($post_id); return '<a href="'. $permalink . '" class="comments_link">' . $cc . '</a>'; } add_shortcode('comments', 'comments_shortcode');
Шорткод:
[comments id="23" ]
Выводим всех подписчиков блога в неупорядоченный список
Добавление этого сниппета в файл functions.php выведет всех подписчиков (Роль на сайте) в неупорядоченный список.
<ul> <?php $blogusers = get_users('blog_id=1&orderby=nicename&role=subscriber'); foreach ($blogusers as $user) { echo '<li>' . $user->display_name . '</li>'; } ?> </ul>
Отправляем email уведомление при обновлении профиля
После добавления этого сниппета в файл functions.php ВП будет отправлять email уведомление пользователю после того, как он обновит свой профиль.
function user_profile_update( $user_id ) { $site_url = get_bloginfo('wpurl'); $user_info = get_userdata( $user_id ); $to = $user_info->user_email; $subject = "Обновление профиля: ".$site_url.""; $message = "Hello " .$user_info->display_name . "\nВаш профиль был обновлен!\n\nСпасибо за визит\n ".$site_url.""; wp_mail( $to, $subject, $message); } add_action( 'profile_update', 'user_profile_update', 10, 2);
Добавляем произвольные типы записей в wp_get_archives()
Добавление этого сниппета в файл functions.php позволит использовать функцию wp_get_archives для вывода ваших произвольных типов записей. Не забудьте изменить название этой самой записи в строке 6.
add_filter( 'getarchives_where' , 'ucc_getarchives_where_filter' , 10 , 2 ); function ucc_getarchives_where_filter( $where , $r ) { $args = array( 'public' => true , '_builtin' => false ); $output = 'names'; $operator = 'and'; $post_types = get_post_types( $args , $output , $operator ); $post_types = array_merge( $post_types , array( 'post','CUSTOM_POST_TYPE_NAME' ) ); $post_types = "'" . implode( "' , '" , $post_types ) . "'"; return str_replace( "post_type = 'post'" , "post_type IN ( $post_types )" , $where ); }