Обновление WordPress без данных FTP

👁 46 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

В зависимости от настройки серверов обновление движка/тем/плагинов может требовать от пользователя адрес сервера, логин и пароль для FTP. Обычно это происходит, когда веб-сервер запущен от имени другого пользователя. Попробуйте добавить в wp-config.php строку:

define('FS_METHOD', 'direct');

…и обновление будет происходить напрямую.

Отключение обновлений в WordPress

👁 90 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Иногда бывает полезно отключить обновления определенных модулей в WordPress. Это могут быть темы, плагины, виджеты и т.п. и часто такая необходимость возникает, когда вы сдаете проект клиенту на WordPress и где вы не всегда на месте, чтобы разъяснять или справлять все ньюансы, которые могут возникнуть в связи новыми обновлениями модулей.

Запретить обновление темы

Рассмотрим отключение обновлений тем. Тут привести 3 способа, как это сделать.

Способ 1.

Суть первого способа заключается в изменении файла стилей. Да да, именно файла стилей — style.css. В начале этого файла, пишутся некоторые параметры, например — название темы, автор и нужная нам версия.

Выглядит такая строка примерно так — Version: 1.0, смотрите внимательно. она где-то в начале. Так вот, чтобы отключить обновления, Вам просто нужно изменить версию на другую, которая будет побольше, например так — Version: 999.0.

Теперь получается, что любая версия будет меньше указанной, а значит не актуальной и тема не будет обновляться.

 

Способ 2. 

Второй способ потребует от Вас тоже небольшого вмешательства в код темы, а именно в файл пользовательских функций — functions.php. Открываем его для редактирования, а потом в самый конец перед закрывающим тегом PHP — ?>, если такого нет, то просто в конец, добавляем такие вот функции.

// отключаем обновление тем
remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'pre_site_transient_update_themes', '__return_null' );
 
// отключаем авто обновления
add_filter( 'auto_update_theme', '__return_false' ); 
 
// спрячем имеющиеся уведомления
add_action('admin_menu','hide_admin_notices');
function hide_admin_notices() {
    remove_action( 'admin_notices', 'update_nag', 3 );
}

По комментариям видно что мы отключаем сразу несколько параметров — обновление тем, авто обновления и уведомления о надобности обновится.

Способ 3.

Последний способ, наверное самый простой, но требует установки плагина. Скачивает с сайта WordPress плагин — Easy Updates Manager или WordPress Theme Updates, ну и подобные им, которые сделают все за Вас.

Как по мне, то лучше выбрать один из ручных методов, ведь использование плагинов лишний раз нагружает Ваш WordPress, хоть и не сильно, но все же.

Запретить обновление плагина

В некоторых случаях может оказаться, что обновлять плагин вам не нужно. Это может произойти, если вы самостоятельно внесли доработки и изменения в код плагина. Тогда обновление перезапишет все ваши правки. Либо же если авторы плагина в чем-то изменили концепцию, и новая версия вас больше не устраивает. В моем случае так случилось с замечательным плагином NextGen Gallery, который после обновления до версии 2 стал неповоротливым и тяжело модифицируемым.

Способ 1.

Версия плагина прописывается в начале его главного файла. Открываем список плагинов, выбираем нужный и нажимаем «Изменить».

<?php
/*
Plugin Name: NextGEN Gallery
Plugin URI: http://www.nextgen-gallery.com/
Description: A NextGENeration Photo Gallery for WordPress
Author: Photocrati
Author URI: http://www.photocrati.com/
Version: 1.9.13

Если заменить значение «Version:» на большое число, например 99.99, то проверка обновлений будет сообщать, что установленная  версия новее, и не будет предлагать обновиться.

Способ 2.

Пропишем фильтр, позволяющий блокировать обновления конкретных плагинов централизованно. Для этого нужно в файл wp-config.php добавить массив:

<?php
$DISABLE_UPDATE = array( 'nextgen-gallery', 'nospamnx', 'другие-плагины');

Где значением элемента массива является название директории, в которой расположен плагин,  или его название, если плагин не имеет своей категории (состоит из одного файла).

Затем в файл functions.php текущей темы следует добавить код, который будет обрабатывать данный массив и запрещать для указанных плагинов обновления:

<?php
// запрет обновления выборочных плагинов
function filter_plugin_updates( $update ) {    
    global $DISABLE_UPDATE; // см. wp-config.php
    if( !is_array($DISABLE_UPDATE) || count($DISABLE_UPDATE) == 0 ){  return $update;  }
    foreach( $update->response as $name => $val ){
        foreach( $DISABLE_UPDATE as $plugin ){
            if( stripos($name,$plugin) !== false ){
                unset( $update->response[ $name ] );
            }
        }
    }
    return $update;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Однако имейте ввиду, с обновлением самого WordPress старые версии плагинов или тем могут оказаться несовместимыми и перестать работать, поэтому отключать обновления следует с осторожностью.

Источники:

  1. Как отключить обновления темы WordPress
  2. Запрещаем обновление конкретного плагина в WordPress

Ограничить размер выводимого текста поста в списке

👁 80 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Иногда нужно, чтобы посты в списке не выводили весь текст, а ограничивались некоторым размером. Для этого можно использовать один из методов, который будет описан ниже.

the_excerpt(); или the_content(); должны быть в пределах цикла сообщений или одного сообщения или чего-то еще. Это зависит от того, что вы показываете, я предполагаю, что у вас будет какая-то цикл сообщений и внутри нее вы можете вызвать. Дополнительно смотрим в офф-документацию http://codex.wordpress.org/Function_Reference/the_excerpt.

Если вы хотите изменить длину превью-текста, вам нужно добавить следующий код в файл functions.php

...
function custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
...

Это изменит длину превью-текста без изменения основных файлов wordpress.

Создание новой области для виджета в WordPress

👁 67 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Если вы знакомы с темами WordPress, то вы знаете, что у многих тем есть виджетная боковая панель. Это означает, что вы можете добавлять, удалять и переупорядочивать виджеты на своем веб-сайте WordPress, используя раздел «Виджет» на панели инструментов WordPress.

В данном посте место для виджета создается в боковой панели, но это не обязательно может быть боковая панель, это может быть любой областью нашей темы.

Наличие виджетной боковой панели очень полезно, но вы можете также виджетировать другие части своей темы WordPress. Это очень легко сделать, и как только ваша тема будет изменена, вам будет легко или администратор WordPress просто поменять виджеты на разных частях веб-сайта.

Шаг 1: Добавляем код вывода виджета в теме

Первым шагом является добавление следующей строки кода к той части вашей темы, которую вы хотите активизировать. Обязательно измените «Name of Widget Area» на имя, которое имеет смысл для вас. Вам нужно будет сделать это с помощью редактора кода, а затем загрузить файл через FTP-клиент.

<?php
 
if ( is_active_sidebar( 'slider-widget' ) ) : ?>
    <div id="slider-widget-area" class="slider-widget-area widget-area" role="complementary">
    <?php dynamic_sidebar( 'slider-widget' ); ?>
    </div>
     
<?php endif; ?>

Шаг 2: Реадактируем файл functions.php

В папке темы WordPress должен быть файл functions.php. Если этого не происходит, просто создайте новый файл и назовите его «functions.php». В файле functions.php добавьте следующий код:

function wpb_widgets_slider_init() {
 
    register_sidebar( array(
        'name'          => 'Slider Widget Area',
        'id'            => 'slider-widget',
        'before_widget' => '<div class="slider-widget">',
        'after_widget'  => '</div>',
        'before_title'  => '<h2 class="slider-title">',
        'after_title'   => '</h2>',
    ) );
 
}
add_action( 'widgets_init', 'wpb_widgets_slider_init' );

Код выше должен быть обернут в PHP открытым и закрытым тегами (<? Php и?>, Соответственно). Если у вас уже есть файл functions.php, те теги уже будут там. Если вы создали его самостоятельно, вам придется добавить их.

Обязательно измените имя функции (в данном случае это «Name of Widget Area»), чтобы оно соответствовало имени, которое вы дали ему на шаге 1.

Параметры «before_widget» и «after_widget» позволяют указать, какой код вы хотите разместить до и после каждого виджета. В этом случае я добавляю div с классом для стилизации.

Параметры «before_title» и «after_title» позволяют вам обернуть заголовки виджетов в коде. В этом случае я завернул заголовок в тегах <h3> и </ h3> соответственно.

Шаг 3. Добавление виджетов

После того, как вы успешно добавили виджетную область, вы можете начать добавлять виджеты на свой сайт WordPress. Для этого войдите в свою панель управления WordPress, затем нажмите «Виджеты» в раскрывающемся списке «Внешний вид» с левой стороны.

Теперь вы должны увидеть раздел «Name of Widget Area» в правой части экрана. Теперь просто нажмите и перетащите виджеты в окно, как ваша боковая панель!