Изменяем текст в метабоксе Опубликовать для произвольных типов записей
Добавление этого сниппета в файл 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 );
}
