• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Информация Wordpress: плюшки файла functions.PHP ))

Статус
В этой теме нельзя размещать новые ответы.
Замена лого при логине
PHP:
//замена лого при логине
function my_login_logo(){

echo '

<style type="text/css">
#login h1 a { background: url(/img/login-logo.png) no-repeat 0 0 !important; }
</style>';

}
add_action('login_head', 'my_login_logo');

add_filter( 'login_headerurl', create_function('', 'return get_home_url();') );

add_filter( 'login_headertitle', create_function('', 'return "Ваше описание";') );
/img/login-logo.png - указываем свой путь к картинке. И не забывем заменить headertitle
 
Целиком слить плюшку не получится, вставлю ссылку. Описание примера ручного изменения шапки Wordpress.
 
Фенечку и свою внесу: Транслитерация имён загружаемых файлов: в случае, когда юзеры заливают на хостинг файлы, содержащие пробелы, спецсимворы, кириллицу, и даже файлы с названиями на татарском!
Код:
add_filter( 'sanitize_file_name', 'sanitize_title_with_translit' );
Это только для тех, у кого установлен древний Rus-to-lat, без этого плагина код работать не будет.
 
Большинство плюшек собрал в плагин Для просмотра ссылки Войди или Зарегистрируйся
Буду рад критике моего говнокода ))

плагин русско-английский, язык автоматически определяется, в зависимости от вашей локали wordpress
 
Последнее редактирование модератором:
Сделать счетчик просмотров статей без плагинов
Вот эти две функции добавляем в файл functions
PHP:
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0";
}
return $count;
}

function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
Затем в шаблон поста добавляем для подсчета вот этот кусок:
PHP:
<?php setPostViews(get_the_ID()); ?>
А для вывода самого количества вот этот:
PHP:
<?php echo getPostViews(get_the_ID()); ?>
 
Этот код для functions.php позволит вам окрасить строки в таблицах админки сайта в зависимости от статуса ( ожидает проверки, черновик, личная и т. д.) записи:
PHP:
add_action('admin_footer','posts_status_color');
function posts_status_color(){
?>
<style>
.status-draft{background: #FCE3F2 !important;}
.status-pending{background: #87C5D6 !important;}
.status-publish{/* no background keep wp alternating colors */}
.status-future{background: #C6EBF5 !important;}
.status-private{background:#F2D46F;}
</style>
<?php

Можно граммотно выводить последние твиты и фолловеров в Twitter и с помощью API-запросов с кешированием. Даже если на WordPress применяется пользовательский компонент кэширования. В этом коде для кэширования запросов с настраиваемым временем следующей чистки применяется Transient API .
PHP:
/**
* Get the latest Tweet Text by Username
* @param string $username: Twitter Username
*/

function get_last_tweet($username='nasenmann'){
if (false === ($last_tweet = get_transient('last_tweet_by_'.$username))) {

$res = wp_remote_get('http://twitter.com/statuses/user_timeline/'.$username.'.json');
$tweets = json_decode($res['body']);

foreach ($tweets as $tweet){
if(empty($tweet->in_reply_to_user_id)){
$last_tweet = $tweet->text;
break;
}
}

set_transient('last_tweet_by_'.$username, $last_tweet, 10*60);

}
return $last_tweet;
}

print_r(get_last_tweet());
 
Последнее редактирование модератором:
Новая партия)) плюшек:

4. Убираем дурацкие символы [...] в конце кратких анонсов на главной, категориях, архивах, результатах поиска и т.п. (к слову, такие киксы даже у флагманов Для просмотра ссылки Войди или Зарегистрируйся - прокрутить страницу вниз.) Собственно, мы их не просто убиваем, а меняем на симпатичную ссылку "читать далее.."
# удаляем дурацкие символы в конце кратких анонсов
function new_excerpt_more($more) {
global $post;
return ' <a href="'. get_permalink($post->ID) . '">читать далее..</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
[...] - эти символы, да и вообще текст "читать далее" можно убрать путём задания первого параметра функции the_content('Тут ваш текст'). Теперь вместо "читать далее" в конце каждого анонса будет выводится "тут ваш текст". Можно задать пустую строку "" и тогда ничего в конце анонса выводится не будет.
 
База данных сайта WP может очень скоро "замусориваться" тысячами версий (ревизий) записей. Зачем может потребоваться 10-ки разных версий одного и того же материала? Это снижает производительность и ухудшает процесс резервного копирования сайта. Этот код, может либо совсем отключить их создание, либо установить разумного ограничение на их количество.

Добавляем в файл wp-config.php (то что Вам нужно из 2-х вариантов)
PHP:
 // disable post revisions
  define('WP_POST_REVISIONS', false);

PHP:
 // limit five post revisions
  define('WP_POST_REVISIONS', 5);

Нередко бывает что обновление WP нарушает работу сайта, так вот чтобы обновление не произошло само собой поможет вот этот код для wp-config.php
PHP:
define('WP_AUTO_UPDATE_CORE', false);
 
Последнее редактирование модератором:
База данных сайта WP может очень скоро "замусориваться" тысячами версий (ревизий) записей. Зачем может потребоваться 10-ки разных версий одного и того же материала? Это снижает производительность и ухудшает процесс резервного копирования сайта. Этот код, может либо совсем отключить их создание, либо установить разумного ограничение на их количество.

Подскажите, пожалуйста, как поставить ограничение на 3 записи, а все что старше 3-й правки удалялось бы из базы.

"// limit five post revisionsdefine('WP_POST_REVISIONS', 3);" - ?.

Извините, если уж совсем дурацкий вопрос.
 
Подскажите, пожалуйста, как поставить ограничение на 3 записи, а все что старше 3-й правки удалялось бы из базы.

"// limit five post revisionsdefine('WP_POST_REVISIONS', 3);" - ?.

Извините, если уж совсем дурацкий вопрос.
Так, а что мешает попробовать и убедиться?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху