WordPress Туториалы

Как добавить всплывающие приветствия в WordPress

Ранее мы рассказывали вам, как добавлять переключающиеся отзывы в WordPress. Сегодня же мы расскажем о том, как показывать какую-либо всплывающую информацию при наведении курсора на фото. Эта техника стала использоваться повсеместно, и в этой статье мы покажем, как создать всплывающие подсказки в WordPress

Фон:

От экспертов индустрии мы слышали то, что показ лиц придаёт персональный оттенок странице. Это причина, почему мы решили пойти этим путём. Вот почему мы решили использовать пользовательские типы постов и мета-поля, чтобы скомпоновать это с jQuery.

 

Пользовательские типы постов и мета-области

Нам необходимо, чтобы клиент имел возможность:

  • Добавить фото пользователя (Иконка)
  • Добавить имя пользователя (Заголовок поста)
  • Добавить текст (Тело поста)
  • Позиция клиента в компании (Выборочное поле или мета-область)

Первым делом мы добавили пользовательский тип поста, названный Приветствие, в котором всё есть, кроме одного поля (позиция клиента/компании). Если вы хотите добавить мета-область, то это ваше дело. Не будьте ленивыми, попробуйте сами добавить пару строк кода, чтобы сделать это!

Всё, что нужно сделать, это взять код снизу и сохранить его в пустой php файл, и назвать tooltip-testimonials.php.

<?php

//Add Image Size
add_image_size( 'testimonial-thumb', 96, 96, true ); // Hard Crop Mode

//Register Custom Post Types

add_action( 'init', 'register_cpt_testimonial' );

function register_cpt_testimonial() {

    $labels = array( 
        'name' => _x( 'Testimonials', 'testimonial' ),
        'singular_name' => _x( 'testimonial', 'testimonial' ),
        'add_new' => _x( 'Add New', 'testimonial' ),
        'add_new_item' => _x( 'Add New testimonial', 'testimonial' ),
        'edit_item' => _x( 'Edit testimonial', 'testimonial' ),
        'new_item' => _x( 'New testimonial', 'testimonial' ),
        'view_item' => _x( 'View testimonial', 'testimonial' ),
        'search_items' => _x( 'Search Testimonials', 'testimonial' ),
        'not_found' => _x( 'No testimonials found', 'testimonial' ),
        'not_found_in_trash' => _x( 'No testimonials found in Trash', 'testimonial' ),
        'parent_item_colon' => _x( 'Parent testimonial:', 'testimonial' ),
        'menu_name' => _x( 'Testimonials', 'testimonial' ),
    );

    $args = array( 
        'labels' => $labels,
        'hierarchical' => false,
        
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'custom-fields', 'revisions' ),
        
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );

    register_post_type( 'testimonial', $args );
}

//Custom Meta Box

$key = "testimonial";
$meta_boxes = array(
"position" => array(
"name" => "position",
"title" => "Position and Company",
"description" => "Enter their position and their company name.")
);
 
function create_meta_box() {
global $key;
 
if( function_exists( 'add_meta_box' ) ) {
add_meta_box( 'new-meta-boxes', ucfirst( $key ) . ' Information', 'display_meta_box', 'testimonial', 'normal', 'high' );
}
}
 
function display_meta_box() {
global $post, $meta_boxes, $key;
?>
 
<div class="form-wrap">
 
<?php
wp_nonce_field( plugin_basename( __FILE__ ), $key . '_wpnonce', false, true );
 
foreach($meta_boxes as $meta_box) {
$data = get_post_meta($post->ID, $key, true);
?>
 
<div class="form-field form-required">
<label for="<?php echo $meta_box[ 'name' ]; ?>"><?php echo $meta_box[ 'title' ]; ?></label>
<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>" value="<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>" />
<p><?php echo $meta_box[ 'description' ]; ?></p>
</div>
 
<?php } ?>
 
</div>
<?php
}
 
function save_meta_box( $post_id ) {
global $post, $meta_boxes, $key;
 
foreach( $meta_boxes as $meta_box ) {
$data[ $meta_box[ 'name' ] ] = $_POST[ $meta_box[ 'name' ] ];
}
 
if ( !wp_verify_nonce( $_POST[ $key . '_wpnonce' ], plugin_basename(__FILE__) ) )
return $post_id;
 
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
 
update_post_meta( $post_id, $key, $data );
}
 
add_action( 'admin_menu', 'create_meta_box' );
add_action( 'save_post', 'save_meta_box' );

Это послужит началом первоначальной настройки того, что мы хотим иметь. Теперь нужно начать добавлять текст, после чего вы можете отобразить его. Вспомним ещё раз, какие элементы нам нужны:

  • Добавьте  фото пользователя (иконка/миниатюра записи). Мы советуем брать размер 96х96 пикселей.
  • Добавьте имя пользователя (Заголовок поста)
  • Добавьте текст (Тело поста)
  • Позиция клиента в компании (Мета-область)

Отображение в теме

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

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

Сначала нужно скопировать и вставить данный код на jQuery в пустой файл и назвать его tooltip-testimonials.js:

jQuery(document).ready(function(){
     
    jQuery("#testimonials img[title]").tooltip({
 
       // tweak the position
       offset: [0, 0],
     
       // use the "slide" effect
       effect: 'slide'
     
    // add dynamic plugin with optional configuration for bottom edge
    }).dynamic({ bottom: { direction: 'down', bounce: true } });
     
});

Как только вы сделаете это, вам нужно загрузить этот файл в шапку вашей темы. Вы также можете отредактировать файл header.php вручную, вставив скрипт в область заголовка или же использовать функцию wp_enqueue_script. Давайте загрузим наш файл tooltip-testimonials.js в папку скриптов нашей темы. Если её нету, то создайте её и назовите scripts.

Добавьте следующий код к файлу functions.php вашей темы:

add_action('wp_enqueue_scripts', 'tooltip_enqueue_scripts');
function tooltip_enqueue_scripts() {
if (!is_admin()) {
    wp_register_script('jquery_tools', 'http://cdn.jquerytools.org/1.2.6/full/jquery.tools.min.js?ver=3.4.2', 'jquery', '3.4.2', true);
        wp_enqueue_script('jquery_tools');
 
    wp_register_script('tooltip', get_stylesheet_directory_uri() . '/scripts/tooltip-testimonials.js', 'jquery', '1', true);
        wp_enqueue_script('tooltip');
}
}

Теперь он у нас в нужном месте, создадим цикл, который позволит нам показывать всплывающий текст с фотографиями в формате сетки. Откройте файл, где бы вы хотели показывать приветствия. Это может быть и боковая панель, и домашняя страница, да что угодно. После чего, скопируйте цикл:


<div id="testimonials">
<div class="wrap">
<?php
$args = array( 'post_type' => 'testimonial', 'posts_per_page' => 6 );
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
$data = get_post_meta( $loop->post->ID, 'testimonial', true );
$user_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($loop->post->ID), 'testimonial-thumb');
?>    
    <div class="testimonials">
        <p class="center"><img class="frame" src="<?php echo $user_image_url[0] ?>" title="<?php echo get_the_content(); ?>" alt="<?php echo get_the_title(); ?>" /></p>
        <p class="testimonials-title"><?php echo get_the_title(); ?></p>
        <p class="company"><?php echo $data[ 'position' ]; ?></p>
    </div>
<?php
endwhile; 
endif; ?>

</div>
</div>

Код цикла будет отображать 6 элементов на странице. Вы можете стилизовать их так, как вам хочется. Вы также можете добавить orderby = rand ,если у вас около 20 приветствий.

Теперь давайте добавим CSS стили, чтобы всё было красиво. Внизу вы можете найти стили CSS, которые мы использовали. Возможно вам нужно подкорректировать их, чтобы они соответствовали стилям вашей темы и цветовой схеме.

#testimonials .testimonials{width: 116px; float: left; margin: 35px 30px 0 0;}

#testimonials .center{text-align: center; margin: 0px 0 15px;; padding: 0px;}

#testimonials .center img{box-shadow: 0px 2px 2px #d2d2d2; -moz-box-shadow: 0px 2px 2px #d2d2d2; -webkit-box-shadow: 0px 2px 2px #d2d2d2; border: 3px solid #fff;}

#testimonials .testimonials-title{font-size: 14px; font-weight: 700; text-align: center; margin: 3px 0 0; padding: 0px;}

#testimonials .company{font-size: 12px; font-style: italic; text-align: center; margin: 0px; padding: 0px;}

#testimonials .tooltip {background: #111; color: #fff; width: 200px; padding: 20px; margin: 0 5px 20px;}

 


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как добавить скользящее меню в тему WordPress

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

WordPress

Внимание: Данная статья требует существенных знаний HTML и CSS.

Замена стандартного меню на скользящее

Цель статьи — показывать скользящее меню пользователям на небольших экранах, и в то же время показывать стандартное меню для пользователей настольных компьютеров, чтобы они могли видеть полное меню. Перед тем, как мы начнём, важно знать, что существует множество тем под WordPress и придётся столкнуться с CSS чуть позже.

Первым делом вам нужно открыть редактор на вашем компьютере и создать новый файл. Скопируйте и вставьте код:

(function($) {
$('#toggle').toggle( 
    function() {
        $('#popout').animate({ left: 0 }, 'slow', function() {
            $('#toggle').html('<img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="close" />');
        });
    }, 
    function() {
        $('#popout').animate({ left: -250 }, 'slow', function() {
            $('#toggle').html('<img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="close" />');
        });
    }
);
})(jQuery);

Замените example.com своим доменным именем, а также замените your-themeназванием вашей темы. Сохраните этот файл как slidepanel.js на своём рабочем столе. Этот код использует jQuery для включения скользящего меню, а также создаёт анимацию перехода.

Откройте FTP клиент, например Filezilla и подключитесь к своему сайту. Далее, перейдите в папку вашей темы. Если в есть папка js, то откройте её, если нету, то создайте её и загрузите файл slidepanel.js в эту папку.

Следующим делом, вам надо создать или найти иконку меню. Обычно используют такую иконку с тремя линиями. Вы можете создать её, используя PhotoShop или же найти её в интернете. Для данной статьи, мы используем иконку размером 27х23 пикселя. Как только у вас будет иконка, переименуйте её в menu.png и загрузите в папку с картинками в директории вашей темы.

Следующим шагом будет добавление файла JavaScript для скользящего меню в WordPress. Просто скопируйте и вставьте этот код в файл вашей темы functions.php.

wp_enqueue_script( 'wpb_slidepanel', get_template_directory_uri() . '/js/slidepanel.js', array('jquery'), '20131010', true );

Всё настроено, осталось изменить стандартное меню темы. Обычно большинство меню навигации находится в файле темы header.php. Откройтеheader.php и найдите похожую строку:

<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>

Цель — завернуть навигационное меню в HTML код, чтобы показывать ваше навигационную панель на маленьких экранах. Мы вставим его между <div id="toggle"> и <div id="popout">. Вот так:



<div id="toggle"><img src="http://www.example.com/wp-content/themes/your-theme/images/menu.png" alt="Show" /></div>




<div id="popout">
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</div>


Замените example.com на ваше имя домена и your-theme на имя папки вашей темы. Сохраните изменения.

Последним шагом станет использование CSS, чтобы скрыть иконку меню для пользователей с большим экраном и показывать её для тех, у кого маленький экран. Нам также нужно указать позицию иконки меню и отображение скользящей панели. Скопируйте и вставьте данный код в стили вашей темы:

@media screen and (min-width: 769px) { 
#toggle {
display:none;
}

} 

@media screen and (max-width: 768px) { 
#popout {
position: fixed;
height: 100%;
width: 250px;
background: rgb(25, 25, 25);
background: rgba(25, 25, 25, .9);
color: white;
top: 0px;
left: -250px;
overflow:auto;
}


#toggle {
float: right;
position: fixed;
top: 60px;
right: 45px;
width: 28px;
height: 24px;

}

.nav-menu li { 
border-bottom:1px solid #eee; 
padding:20px;
width:100%;
}

.nav-menu li:hover { 
background:#CCC;
}

.nav-menu li a { 
color:#FFF;
text-decoration:none;
width:100%;
}
} 

Помните, что навигационное меню вашей темы может использовать другие CSS классы и это может вызвать конфликт. Вы можете отладить данные проблемы, используя средство Chrome Inspector, чтобы обнаружить, какие классы css конфликтуют с вашими стилями. Поиграйтесь с CSS, чтобы достичь желаемого результата.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как активировать пользовательские постоянные ссылки в условиях локального сервера WordPress?

Существует такая проблема, что когда наши пользователи сталкиваются с инсталляциями WordPress на локальном сервере, то у них не получается переписать правила работы постоянных ссылок. И хотя они пробовали включить пользовательские постоянные ссылки, они всё равно получали ошибку 404.

Чтобы избавиться от этой проблемы, нужно включить переписывающий модуль в инсталляции WAMP, XAMPP или MAMP. Начните с поиска иконки WAMP панели задач и перейдите в Apache » Apache modules.

WordPress

Это вызовет длинный список с модулями, которые вы можете показывать или не показывать. Найдите модуль “rewrite_module” и выделите его.

WordPress

После этого, ваша структура пользовательских постоянных ссылок должна работать незамедлительно.

Альтернативно вы можете указать на локальный сервер. Перейдите в папку с apache, после перейдите в папку конфигурации “conf”. Найдите файл httpd.conf. Найдите в нём такую строку:

#LoadModule rewrite_module modules/mod_rewrite.so

Просто избавьтесь от знака решётки вначале, должно получиться так:

LoadModule rewrite_module modules/mod_rewrite.so


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как установить и настроить мультисайтовую систему WordPress

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

Что такое мультисайт WordPress?

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

Плюсы использования мультисайтовой системы

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

Минусы использования мультисайтовой системы

  • Все сайты в системы имеют общие ресурсы, поэтому если один сайт перестает работать, все остальные сайты в системе тоже перестанут работать.
  • Управление серверными ресурсами в случае непредвиденного трафика может быть трудным для начинающих пользователей.
  • Если ваш сайт взламывают, значит все сайты в системе тоже будут взломаны.
  • Некоторые плагины WordPress могут не совмещаться с мультисайтовой системой.

Кому необходима мультисайтовая система

То, что у вас есть несколько сайтов WordPress, еще не значит, что вам нужно создавать мультисайтовую систему. Мы можете пользоваться такими сервисами, как Manage WP или Infinite WP, чтобы управлять несколькими отдельными сайтами.

Создание мультисайтовой системы имеет смысл для:

  1. Онлайн-журналов, разными разделами которых управляют разные команды.
  2. Бизнес сайтов с под-сайтами для разных филиалов и мест расположения.
  3. Государственных и некоммерческих сайтов, которые могут использовать мультисайт для разных департаментов и регионов.
  4. Вашей собственной сети блогов, размещенных на нескольких под-доменах.
  5. Школ и университетов, которые могут позволить студентам создавать собственные блоги на школьных серверах.

Требования для мультисайтовой системы

Самое главное, что вам потребуется для мультисайтовой системы, – это хороший хостинг WordPress. Если вы не планируете создавать много сайтов и не ожидаете огромного количества посетителей, то можете обойтись общим хостингом. Однако в силу особенностей мультисайта, в ходе роста вашего сайта вам скорее всего потребуется VPS или виртуальный выделенный сервер.

Мы рекомендуем BlueHost, так как они предлагают и общий хостинг, и выделенные серверы, а также являются одним из официальных хостинговых партнеров WordPress.

Мы работали с SiteGround и InMotion Hosting, которые также предоставляют отличный сервис.

Кроме веб-хостинга, вам понадобится базовые знанния об установке WordPress и редактировании файлов с использованием FTP.

Выбор доменной структуры для мультисайтовой системы

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

Если вы выбрали под-домены, вам нужно будет настроить wildcard для под-доменов на своем сервере (мы покажем, как вы можете это сделать ниже).

С другой стороны, если вы хотите создать под-директории или URL, основанные на путях, для под-сайтов в вашей сети, то единственное, что вам нужно будет сделать – разрешить “красивые” ссылки на корневом сайте.

Настройка под-домена wildcard

Зайдите на свой веб-хостинговый аккаунт, и вы увидите панель управления cPanel. Спуститесь вниз к разделу доменов и нажмите на Subdomains.

cpanel-subdomains

В следующем окне вам нужно ввести символ * в поле под-домена и выбрать ваш основной домен из ниспадающего меню. cPanel автоматически обнаружит корневой документ и отобразит его в поле снизу. Теперь нажмите на кнопку create, чтобы создать под-домен wildcard.

wildcard-subdomains

Включение функции мультисайтовой системы WordPress

Функция мультисайтовой системы встроена в WordPress. Все, что вам нужно сделать, – это установить и настроить WordPress по обычной схеме. Читайте наш урок о том, как установить WordPress, если вам требуется помощь.

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

Чтобы включить функцию мультисайта, вам нужно зайти на ваш сайт через FTP-клиент или менеджер файлов cPanel и открыть файл wp-config.php.

Вам нужно добавить эту строку в файл wp-config.php перед строкой /*That’s all, stop editing! Happy blogging.*/.

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

Сохраните и загрузите ваш файл wp-config.php обратно на сервер. Теперь ваш WordPress поддерживает мультисайтовую систему.

Установка системы

Теперь, когда вы включили функцию мультисайтовой системы на вашем сайте WordPress, пришло время настроить систему. Прежде чем начать, деактивируйте все плагины на своем сайте. После этого вам нужно зайти в Tools > Network Setup, чтобы настроить мультисайтовую систему.

network-setup

В окне настройки системы вы увидите оповещение о том, что вам нужно установить модуль Apache mod_rewrite на своем сервере, чтобы настроить мультисайтовую систему. У большинства хороших хостинг провайдеров WordPress этот модуль установлен и включен.

Следующий шаг – сообщить WordPress о том, какую доменную структуру вы хотите использовать для сайтов в вашей системе, т.е. под-домены или под-директории. После этого вам нужно ввести название вашей системы и убедиться, что в Network Admin Email стоит правильный имейл. Наконец, нажмите на кнопку install, чтобы продолжить.

В следующем окне WordPress покажет вам правила, которые нужно будет добавить в файлы wp-config.php и .htaccess. Используйте FTP-клиент, чтобы отредактировать оба этих файла и вставить код.

Настройки системы

После успешной установки мультисайтовой системы вам нужно переключиться на панель управления системой, чтобы проставить настройки, добавить новые сайты и многое другое. Поставьте курсор на меню My Sites в панеле инструментов администратора – перед вами появится выпадающее меню. Нажмите на Network Admin > Dashboard.

network-admin

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

multisite-dashboard

Чтобы настроить систему, нажмите на ссылку Settings в боковом меню администратора. Первая опция на экране настроек системы – название сайта и имейл администратора. Эти поля будут заполнены названием системы и имейлом, который вы ввели во время установки.

Разрешение регистрации в мультисайтовой системе

Раздел Registration Settings в окне настроек системы – это пожалуй самый важный пункт во всей установке. По умолчанию регистрация будет отключена и для пользователей, и для сайтов. Вы можете открыть ваш сайт для регистрации пользователей, разрешить существующим пользователям создавать новые сайты или и то, и другое сразу.

registration-settings

Вы можете отметить бокс рядом с Registration Notification, чтобы получать оповещения на имейл при каждой новой регистрации пользователя или сайта.

Если вы хотите разрешить администраторам сайта добавлять новых пользователей на свой сайт, то можете отметить бокс рядом с Add New Users.

Опция Limited Email Registration позволит вам разрешить регистрации пользователей и сайтов только для имейлов с определенными доменами, которые вы можете сюда добавить. Это особенно полезно, если вы хотите разрешить регистрацию и создание новых пользователей и сайтов только для людей из вашей собственной организации. Вы также можете запретить регистрацию для определенных доменов.

limitemaildomains

Настройки для новых сайтов

Раздел New Site Settings в окне настроек системы позволяет вам сконфигурировать опции по умолчанию для новых сайтов, созданных в вашей системе. Вы можете модифицировать приветственные имейлы и содержание дефолтных постов, страниц и комментариев.

newsite-settings

Настройки загрузок

Важно следить за тратой своих серверных ресурсов. В разделе Upload Settings вы можете поставить ограничение на общее количество места, которое сайт может использовать для загрузок. Размер по умолчанию – 100 MB, чего хватит по меньшей мере на 100 фотографий. Вы можете увеличить или уменьшить этот параметр в зависимости от того, сколько у вас есть пространства на диске.

uploadsettings

Типы файлов по умолчанию – изображения, аудио/видео и pdf. Вы можете добавить дополнительные типы файлов, если хотите, например doc, docx, odt. Наконец, вы можете ограничить размер файла, чтобы пользователи не имели возможности загружать на сервер безумно большие файлы.

Настройки меню

В настройках меню вы найдете опцию Enable administration menus для раздела плагинов на сайтах системы. Это позволит админам сайта увидеть меню плагинов. Они смогут активировать и деактивировать плагин на своем отдельном сайте, но не смогут устанавливать новые плагины.

enable-plugin-menu

Добавление новых сайтов в мультисайтовую систему WordPress

Чтобы добавить новый сайт в ваш мультисайт WordPress, просто нажмите на Sites в меню My Sites > Network Admin в панеле администратора.

network-sites

Таким образом вы увидите текущий список сайтов на вашем мультисайте. По умолчанию ваш главный сайт будет единственным в мультисайтовой системе. Чтобы добавить новый сайт, нажмите на кнопку Add New вверху.

addnewsite

В окне Add New Site вам нужно ввести адрес сайта. Вам не нужно впечатывать полный адрес, достаточно той части, которую вы хотите использовать как под-домен или под-категорию. После этого введите название сайта, и добавьте имейл администратора сайта.

addnewsite1

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

Как только вы с этим разобрались, нажмите на кнопку Add Site. В вашу мультисайтовую систему будет добавлен новый сайт. Будучи администратором системы, вы получите имейл о новой регистрации. Если вы создали нового пользователя, то этот пользователь получит свои имя пользователя и пароль с инструкциями о регистрации на тот имейл, который вы ввели.

Добавление тем и плагинов в мульстисайтовой системе

По умолчанию администраторы отдельных сайтов не могу устанавлить темы и плагины самостоятельно. Вы, как администратор системы, можете устанавливать плагины и темы за них и сделать эти темы/плагины для них доступными. Чтобы сделать это, вам надо зайти на ваш главный сайт и открыть My Sites > Network Admin > Themes.

multisite-themes

В окне Network Admin вы увидите список установленных на вашем мультисайте тем на данный момент. Вы можете открыть доступ к этим темам, нажав на Enable Network под темой. По такому же принципу вы можете запретить тему, нажав на Disable Network под ней.

enable-disable-themes

Вы также можете активировать и деактивировать плагин для всей системы в окне My Sites > Network Admin > Plugins. Имейте в виду, что если вы разрешили администраторам сайтов доступ к плагинам в Network Settings, то они смогут активировать или деактивировать плагины самостоятельно.
activate-plugins-multisite

Устранение неполадок на мультисайте WordPress

Самые распространенные проблемы возникают в связи с неправильной конфигурацией под-доменов wildcard. Убедитесь, что ваш веб-хостинг их поддерживает.

Еще одна распространенная проблема – при использовании мультисайта WordPress с под-директориями, некоторые пользователи не могут войти в раздел администратора на своем сайте после добавления кода в файл wp-config.php. Чтобы исправить это, попробуйте заменить строку define(‘SUBDOMAIN_INSTALL’, false); в файле wp-config.php на define(‘SUBDOMAIN_INSTALL’, ‘false’);

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как создать пользовательский виджет на WordPress

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

Что такое виджет для WordPress?

WordPress виджеты изначально создавались для предоставления лёгкого способа управления дизайном и структурой темы. Интересно также то, что вы можете перетащить виджет на любую боковую панель или область для виджетов вашего сайта. Это даёт больше свободы для разработчиков плагинов и тем. Они могут добавить функционал в свои продукты и дают возможность пользователям решать, когда и где использовать эти функции без какой-либо головной боли с кодом. Также пользователь может создать свой собственный виджет в специальном плагине, и вы сможете перетащить его на любую тему, которую вы используете.

WordPress

Создание виджета в WordPress

Перед тем как начать, было бы хорошо, если вы создадите сайт-специфический плагин, куда вы будете вставлять код виджета. Вы также можете вставлять его в файл вашей темы functions.php. Но сайт-специфический плагин лучше.

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

// Создание виджета
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget', 

// Имя виджета появится в UI
__('Our Widget', 'wpb_widget_domain'), 

// Описание виджета
array( 'description' => __( 'Наш простой виджет', 'wpb_widget_domain' ), ) 
);
}

// Здесь происходит работа виджета
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// Здесь работает код и выводится результат
echo __( 'Hello, World!', 'wpb_widget_domain' );
echo $args['after_widget'];
}
		
// Конец виджета
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'New title', 'wpb_widget_domain' );
}
// Форма администратора виджета
?>


<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> 
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />


<?php 
}
	
// Обновление виджета
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Класс wpb_widget заканчивается здесь

// Регистрация и загрузка виджета
function wpb_load_widget() {
	register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );

Теперь перейдите в Appearance » Widgets, перетащите наш виджет на вашу боковую панель, чтобы увидеть виджет в действии.

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

Осталось лишь пара вещей, которые вы можете нам задать. Например, что делает wpb_text_domain? WordPress использует gettext для управления переводами и локализациями. Этот wpb_text_domain и __e сообщают gettext , чтобы он делал строку доступной для перевода. Посмотрите также нашу статью, как найти и перевести тему для WordPress.

Надеемся эта статья помогла вам научится создавать пользовательские виджеты на WordPress.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как установить WordPress на ваш ПК, используя MAMP

Недавно мы опубликовали статью о том, как установить WordPress на ваш ПК с использованием WAMP. Как и следовало ожидать, мы начали получать от наших читателей вопросы о том, как установить WordPress на Mac. На самом деле, этот процесс почти не отличается от установки на Windows, и в этой статье мы покажем, как установить WordPress на ваш ПК, используя MAMP.

MAMP – это удобная компиляция Apache, MySQL и PHP для Mac. Используя MAMP, вы сможете установить WordPress на ваш Mac и протестировать его. Большинство разработчиков и дизайнеров WordPress используют MAMP в целях разработки. Однако сайт на MAMP доступен для просмотра только вам. Чтобы сделать его доступным в интернете, вам потребуется хостинг WordPress.

Как установить MAMP на Mac

Зайдите на сайт MAMP и скачайте приложение. Когда загрузка будет завершена, откройте скачанный файл. Перетащите файл в папку Applications и следуте инструкциям на экране. Теперь вы сможете запустить MAMP через Applications > MAMP.

Примечание: MAMP также может установить MAMP Pro, поэтому нажмите на правильную опцию.

mamp-app

Прежде чем начать, мы рекомендуем разобраться с настройками. Нажмите на кнопку Preferences, чтобы изменить настройки. Вы увидите новое диалоговое окно. Давайте начнем с вкладки Ports. Здесь вам нужно ввести порты, которые будут использовать Apache и MySQL. Введите порт 80 для Apache и 3306 для MySQL. Порт 88 для Apache даст вам доступ к локальным сайтам через http://localhost вместо http://localhost:8888. Однако при использовании порта 80 вам придется вводить пароль админа вашего компьютера каждый раз, когда вы будете запускать серверы.

mamp-ports

Следующий шаг – установить корневую директорию документов. Корневая директория документов – это папка, в который вы будете создавать и хранить ваши сайты. В диалоговом окне с настройками нажмите на Apache и выберите папку, в которой вы хотите хранить свои сайты. В идеале эта новая папка должна находиться в папке Документы. Вы можете дать ей любое название: htdocs, mywebsites, wpdev, и т.п. Мы для примера назовем ее mysite.

mamp-docs-folder

Нажмите OK, чтобы сохранить изменения. На экране MAMP проверьте, что и сервер Apache, и сервер MySQL работают.

Установка WordPress на Mac

Скачайте копию WordPress с WordPress.org. Распакуйте zip файл, скопируйте папку wordpress внутри него и вставьте его в вашу корневую директорию документов MAMP. Переименуйте эту папку, как вам удобно, например mysite.

Нажмите кнопку Open Start Page в окне приложения MAMP. Откроется новое браузерное окно. Нажмите на phpMyAdmin в верхней строке меню.

mamp-startpage

PhpMyAdmin – это веб-приложение для баз данных MySQL. В phpMyAdmin нажмите на Databases и создайте новую базу данных. Вы можете назвать ее, как хотите. Мы будем использовать это имя для базы данных:

create-db-phpmyadmin

Откройте новое окно в браузере и впишите http://localhost/mysite. Если вы переименовали вашу папку wordpress, то используйте здесь свое название. WordPress пошлет вам уведомление о том, что не удалось найти файл wp-config.php. Нажмите на кнопку Create a Configuration File.

create-config-file

В следующем окне введите информацию о своей базе данных. В поле database name введите название базы данных, которую вы только что сделали. Используйте root для имени пользователя и пароля. Для сервера базы данных – localhost.

mamp-wp-database

Теперь WordPress выполнит соединение с базой данных и создаст конфигурационный файл. После этого вы увидите сообщение об успешном завершении. Нажмите на кнопку Run Install, чтобы продолжить.

В следующем окне WordPress попросит вас ввести информацию о вашем сайте, выбрать имя пользователя и пароль, а также вписать имейл. Заполните форму и нажмите кнопку Install WordPress.

wp-install-screen

Теперь WordPress запустит инсталляционный скрипт, создаст таблицы в базе данных и ваш вебсайт. Вы увидите сообщение об успешной установке, когда она будет завершена.

wp-install-success

Вот и все, теперь вы можете использовать WordPress на своем Mac в точности так же, как если бы вы запустили его на веб-сервере. Просто включите приложение MAMP, чтобы запустить свой локальный сервер и пользоваться WordPress. Как только вы будете готовы, можете перейти с локального сервера и установить свой сайт WordPress в сети.

Миграция с MAMP в интернет

По многочисленным запросам мы написали инструкцию о том, как перенести WordPress с локального сервера MAMP на вебсайт.

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


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как установить WordPress на другом языке

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

wordpress-languages

Что нужно знать перед локализацией WordPress

Вам потребуется домен и аккаунт на веб-хостинге. Чтобы установить WordPress, читайте нашу инструкцию о том, как установить WordPress.

Теперь, когда установка WordPress завершена, давайте разберемся с настройками языка.

Как поменять язык на WordPress

Поменять язык на WordPress очень просто. Зайдите в Settings > General и спуститесь в низ страницы. Вы увидите опцию выбора языка сайта.

installing-language

WordPress целиком переведен на многие языки. Вы увидите только те языки, перевод на которые доступен. Но если вы не видите нужный вам язык, это еще не значит, что он недоступен и вы не сможете его использовать.

Мануальная установка перевода WordPress на альтернативный язык

WordPress использует систему gettext для переводов (локализации и интернационализации). Волонтеры WordPress со всего мира используют основной шаблон .pot, чтобы переводить WordPress на свои языки. В результате получается по два файла на каждый язык. Формат Portable Object в расширении .po, и Machine Object в расширении .mo. Вам понадобится файл .mo для вашего языка.

Зайдите на страницу WordPress in your Language, чтобы проверить, имеется ли перевод на ваш язык.

Вам нужно скачать и загрузить языковой файл .mo в вашу папку /wp-content/languages/ или /wp-includes/languages/. Вам придется создать новую папку под названием languages в директории wp-content.

Когда вы загрузили все файлы .mo и .po для вашего языка, следующий шаг – сделать так, чтобы WordPress начал их использовать. Откройте свой файл wp-config.php и добавьте следующий код:

// Replace fr_FR with your language and country code
define ('WPLANG', 'fr_FR');

Замените fr_FR кодом своего языка и страны. Две первые буквы – это код языка, две вторые – код страны. Вы можете найти подходящий код языка и страны здесь.

Как только вы добавили этот текст в wp-config, WordPress начнет автоматически отображать раздел администратора на вашем языке. Те из вас, кто не хочет мучиться с кодом, могут воспользоваться плагином WP Native Dashboard. Этот плагин позволяет без труда установить и активировать WordPress на вашем языке. Еще одно преимущество плагина WP Native Dashboard в том, что он позволяет пользоваться разными языками. Если ваш сайт WordPress используют несколько авторов, то каждый из них сможет выбрать свой родной язык.

Инсталляционные файлы переведут на другой язык только раздел администратора. Вам может потребоваться перевести вашу тему WordPress и другие плагины. Хотя базовые темы WordPress (twentytwelve и т.п.) доступны со встроенным RTL стилем, в остальных его может не быть.

Помогите перевести WordPress на ваш язык

Если вы не нашли перевод WordPress для своего языка, может быть вы сможете поучавствовать в его создании. WordPress – это программное обеспечение open source, и все доступные на данный момент переводы были созданы волонтерами со всего мира. Зайдите на страницу Translating WordPress для более подробной информации о том, как вы можете посодействовать.

Мы надеемся, что эта статья помогла вам установить WordPress на своем языке. Если у вас есть комментарии, смело оставляйте их под этим постом.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как перенаправить пользователей на случайный пост в WordPress

Существует такая функция на сайтах в виде кнопок, когда пользователь кликает на неё, его переносят в случайный пост на сайте. Мы посчитали, что будет интересно добавить кнопку как в гугле «Мне повезёт». В этой статье мы расскажем вам, как перенаправить пользователей на случайный пост в WordPress.

Откройте файл темы functions.php и создайте пустой файл, после чего вставьте следующий код:

add_action('init','random_add_rewrite');
function random_add_rewrite() {
       global $wp;
       $wp->add_query_var('random');
       add_rewrite_rule('random/?$', 'index.php?random=1', 'top');
}

add_action('template_redirect','random_template');
function random_template() {
       if (get_query_var('random') == 1) {
               $posts = get_posts('post_type=post&orderby=rand&numberposts=1');
               foreach($posts as $post) {
                       $link = get_permalink($post);
               }
               wp_redirect($link,307);
               exit;
       }
}

Пояснение сниппета:

Этот сниппет добавляет переменную Random. После чего использует template_redirect и сообщает: если переменная random здесть, то нужно получить пост случайно. После чего происходит простое перенаправление.

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

Несколько возможных багов:

Если вы используете W3 Total Cache и у вас есть кеширующаяся база данных, то вам  надо добавить следующие правила к листу исключений:

/random/
/index.php?random=1

Если вы используете Yoast SEO плагин, то не используйте флажок перенаправления плохих ссылок в области постоянных ссылок, иначе код не будет работать.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как перенести WordPress с локального сервера на вебсайт

Использование локального сервера может ускорить процесс разработки сайта WordPress. Мы уже показывали вам, как установить WordPress для Windows, используя WAMP, и для Mac, используя MAMP. Когда вы закончили разработку на локальном сервере, следующий шаг – запустить сайт онлайн. В этой статье мы покажем, как перенести WordPress с локального сервера в интернет. Используя этот метод, вы сможете мигрировать весь свой контент (посты, страницы, изображения и т.д.), темы и плагины с локального сервера на вебсайт.

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

Предварительно

Чтобы мигрировать ваш локально разработанный сайт WordPress на онлайн сервер, вам понадобятся две вещи. Первая – локальный сервер. Мы отталкиваемся от того, что вы пользуетесь WordPress на локальном сервере и имеете к нему полный доступ. Далее – вам нужен веб-хостинг, поддерживающий WordPress, на который вы будете переносить ваш конент.

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

Примечание: скриншоты в нашей статье сделаны на хостинг провайдерах, у которых есть cPanel.

Шаг 1: Экспорт локальной базы данных WordPress

Первым делом вам нужно экспортировать локальную базу данных WordPress. Чтобы сделать это, мы воспользуемся phpMyAdmin. Если вы с ним не знакомы, то можете прочитать нашу инструкцию о том, как управлять базой данных WordPress, используя phpMyAdmin. Просто зайдите на http://localhost/phpmyadmin/ и нажмите на базу данных WordPress. Затем нажмите на кнопку Export в верхнем меню.

export-tab-phpmyadmin

В Export Method выберите опцию custom, что даст вам больше возможностей экспорта. Выберите все таблицы для экспорта и gzipped для сжатия. Спуститесь в низ страницы и нажмите кнопку Go, чтобы скачать вашу базу данных.

Шаг 2: Загрузка файлов WordPress на вебсайт

Теперь откройте FTP-клиент и подключитесь к вашему сайту. Когда подключитесь, убедитесь, что загружаете файлы в правильную директорию. Например, если вы хотите разместить свой сайт на yoursite.com, то надо загружать все файлы в директорию public_html.

uploadingwordpress

Теперь выберите файлы локального WordPress и загрузите на онлайн сервер.

Шаг 3: Создание базы данных MySQL на вебсайте

Пока ваш FTP-клиент загружает файлы WordPress, вы можете импортировать вашу базу данных на онлайн сервер. Большинство хостинг провайдеров WordPress предоставляют cPanel для управления вашим хостинг аккаунтом, поэтому мы покажем, как создать базу данных, используя cPanel. Зайдите в панель управления cPanel и нажмите на иконку MySQL databases, которая находится в разделе базы данных.

createdatabasecpanel

В следующем окне введите название вашей новой базы данных.

createnewdb3

Создав базу данных, спуститесь вниз, в раздел MySQL users, и сделайте или добавьте существующего пользователя к базе данных. После этого cPanel покажет вам список привилегий MySQL для этого пользователя. Просто выберите все привилегии.

newdbuser1

Шаг 4: Импорт базы данных WordPress на вебсайт

Следующий шаг в этом процессе – импорт базы данных WordPress. Зайдите в панель управления cPanel, спуститесь вниз к разделу базы данных и нажмите на phpMyAdmin. Таким образом вы попадете к phpMyAdmin, где потребуется нажать на базу данных, которую вы только что создали. PhpMyAdmin покажет вам новую базу данных без таблиц. Нажмите на вкладку Import в верхнем меню. На следующей странице нажмите на кнопку “choose file” и затем выберите gzipped файл базы данных, который вы сохранили ранее. И наконец нажмите на кнопку Go в низу страницы. Теперь phpMyAdmin импортирует вашу базу данных WordPress.

importingdb2

Шаг 5: Изменение URL

Чтобы настроить ваш сайт онлайн, вам нужно поменять его URL. В своем phpMyAdmin, найдите таблицу wp_options в базе данных, которую мы только что импортировали. Если вы поменяли префикс вашей базы данных, то вместо wp_options это может быть {prefix}_options.

Нажмите на кнопку “browse” рядом с wp_options или на ссылку в боковой панели, чтобы открыть страницу со списком полей в таблице wp_options.

wpoptionsbrowse

Под полем options_name вам нужно найти siteurl. Нажмите на иконку Edit Field, которая находится слева в начале строки.

editsiteurlphpmyadmin

Когда нажмете на Edit Field, появится новое окно. В поле input для option_value вы увидите URL вашей локальной установки, выглядеть это будет примерно так: http://localhost/test. Внимательно введите ваш новый URL в это поле, например: https://coma.lv/

Сохраните изменения, нажав кнопку Go.

Далее вам надо повторить этот шаг для опции home. Страница wp_options может быть достаточно длинной, поэтому просто найдите вкладку home. Обычно она находится на второй странице, куда вы можете попасть при нажатии на нумерацию страниц в phpMyAdmin.

Обновите URL home – он должен быть идентичен вашему siteurl.

Шаг 6: Настройка вашего вебсайта

Теперь, когда вы импортировали базу данных, и весь ваш контент загружен, пришло время настроить WordPress. На данном этапе ваш сайт должен показывать ошибку соединения с базой данных. Чтобы исправить это, подключитесь к вашему сайту через Ftp-клиент и отредактируйте файл wp-config.php. Введите название базы данных, пользователя и пароль, который вы создали ранее. Сохраните файл wp-config.php и загрузите его обратно на ваш сервер. Зайдите на свой сайт – теперь все должно работать.

Войдите в панель администратора WordPress и выберите на Settings > General. Нажмите на Save Options. Таким образом вы обновите url сайта везде, где это необходимо.

Затем зайдите в Settings > Permalink и нажмите на Save, чтобы убедиться, что все ссылки исправно работают.

Шаг 7: Обновление путей для исправления неработающих ссылок и изображений

При миграции WordPress с одного домена на другой или с локального сервера на вебсайт вы столкнетесь с такой проблемой как неработающие ссылки и изображения. В этом случае вы можете воспользоваться запросом SQL или плагином Velvet Blues для WordPress.

Если вы хотите использовать SQL, вот простой SQL-запрос, который должен исправить проблему:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'localhost/test/', 'www.yourlivesite.com/');

Зайдите в phpMyAdmin, нажмите на вашу базу данных, а затем на SQL в верхнем меню. Впишите этот запрос, но не забудьте вставить ваши собственные url локального и онлайн сайта.

wpfiximageurls

Вот и все. Надеемся, что теперь ваш сайт готов к работе. Проверьте свой сайт и убедитесь, что все работает именно так, как вы хотите. Смело оставляйте свои комментарии под этим постом, если у вас возникнут трудности или вопросы, и мы постараемся вам помочь.

Если вы выполняете подобный процесс регулярно, то мы рекомендуем приобрести BackupBuddy, потому что он значительно облегчит вашу задачу.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520