Ответы пользователя по тегу WordPress
  • Где искать файл, отвечающий за структуру страницы сайта на движке wordpress?

    dimasmagadan
    @dimasmagadan
    добавьте вот этот код в файл functions.php вашей темы
    function show_template() {
            global $template;
            print_r($template);
    }
    add_action('wp_head', 'show_template');

    у вас будет написано, какой файл отвечает за вывод текущей страницы
    Ответ написан
    Комментировать
  • Что держать в git'e при работе с wordpress?

    dimasmagadan
    @dimasmagadan
    Держите там те файлы, над которыми вы работаете.

    Всё стороннее (движок, фреймворки, библиотеки, контент) загружать стоит только в том случае, если вы это собираетесь править.
    Ответ написан
    Комментировать
  • Как лучше организовать работу по оптимизации Wordpress?

    dimasmagadan
    @dimasmagadan
    алгоритм такой:
    1 для тестов/показа заказчику сделайте папку на этом же сервере, в нее поставьте WordPress;
    если базу менять не планируете (будете только верстку/php менять, настройки плагинов и сайта останутся те же), можно использовать основную базу;
    2 если настройки будут меняться и полная копия базы слишком большая, сделайте "облегченную" копию базы - оставьте настройки, но удалите большую часть постов;
    3 локально для работы, если нужно максимально близкое к серверу окружение, используйте vagrant

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

    dimasmagadan
    @dimasmagadan
    на мой взгляд, лучше оптимизировать картинки на стороннем сервисе

    если делаете на WordPress, подключите Jetpack
    у этого плагина в есть модуль Photon - он отлично бесплатно умеет оптимизировать картинки

    если делаете на другом движке, попробуйте вот этот сервис
    cloudinary.com/invites/lpov9zyyucivvxsnalc5/oxpagw... (ссылка с рефкой)
    cloudinary.com (и без рефки)
    сервис платный, но есть бесплатный тарифный план (мне такого хватает на сайте с 3к уников/сутки).
    функционал у сервиса отличный - оптимизация картинок, умеет накладывать фильтры, обрезать только лицо, резать размеры, резать черные поля у видео, CDN и тд.
    есть и плагин для Wordpress. но можно и в ручную подключить.
    Ответ написан
  • Wordpress убрать миниатюру?

    dimasmagadan
    @dimasmagadan
    попробуйте добавить в functions.php следующее
    function my_post_image_html( $html, $post_id, $post_image_id ) {
    	if(is_singular() ){
    		$html = '';
    	}
    	return $html;
    }
    add_filter( 'post_thumbnail_html', 'my_post_image_html', 10, 3 );


    это отключит вывод миниатюр на страницах и отдельных записях
    Ответ написан
  • Как сделать Wordpress очень быстрым?

    dimasmagadan
    @dimasmagadan
    >чтобы все страницы с динамическим кодом сохранялись в статику и подгружалась уже она
    поставьте плагин кэширования.
    будет переводить все в статику и подгружать ее.

    дальше копать в сторону оптимизации сервера/плагинов/шаблона. в интернете на эту тему огромное количество информации. одним комментарием не охватить.

    разбейте задачу на более мелкие, задавайте вопросы конкретно по этим мелким задачам
    Ответ написан
    Комментировать
  • Если есть, то покажи - в Wordpress, вредно ли?

    dimasmagadan
    @dimasmagadan
    большую нагрузку это не даст, как писали выше, запросы кэшируются.

    но, если очень беспокоитесь, можете один раз собрать все кастомные поля одним запросом в одну переменную так
    $custom = get_post_custom( $post->ID );
    и дальше использовать ее в своем коде на этой странице так
    <?php if ( isset($custom['имя-поля']) && !empty($custom['имя-поля'][0])) : ?>
    Ляля <?php echo $custom['имя-поля'][0]; ?> - <?php the_title(); ?> лялял <?php the_title();>
    <?php endif; ?>
    Ответ написан
    2 комментария
  • Полностью ajax сайт на Wordpress?

    dimasmagadan
    @dimasmagadan
    Статья на smashingmagazine, на которую дал ссылку Сергей, устарела, сделать полностью ajax сайт сейчас можно и по другому. У WP появился REST API, появились новые js библиотеки.

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

    Если свой код писать сложно, попробуйте этот плагин
    https://ru.wordpress.org/plugins/ajaxify-wordpress...
    В некоторых случаях его функционала хватает.

    Если вам нужна только ajax подгрузка записей, можете попробовать поставить этот плагин
    https://wordpress.org/plugins/jetpack/
    Ответ написан
    Комментировать
  • Как реализовать региональные подразделения на WP?

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

    если меняется только телефон/контактная информация/рубрика вывода новостей, подойдет такой алгоритм:
    домен spb.site.ru цепляем к site.ru/sbp/ (или используем сразу site.ru/sbp/)
    в правилах ЧПУ (можно добавить правила в htaccess, можно в WordPress) задаем соответствие site.ru/sbp/ = site.ru/?region=sbp
    на сайте отлавливаем наличие region в запросе
    в зависимости от значения показываем нужную рубрику/телефон

    пример кода, как это работает, можно взять с этого плагина
    https://wordpress.org/plugins/qtranslate-x/

    скорее даже будет проще поправить этот плагин, чем писать новое с нуля
    Ответ написан
    Комментировать
  • Почему не работает $_POST(Регистрация)?

    dimasmagadan
    @dimasmagadan
    у вас не корректно указан action формы.
    но правки только этой части в этом коде будет не достаточно. ваш код не безопасен. в текущем виде на рабочий сайт вставлять нельзя.

    если вы планируете использовать его на сайте с WordPress, почему бы не воспользоваться встроенными в движок функциями?
    https://codex.wordpress.org/Function_Reference/wp_...
    или
    https://codex.wordpress.org/Function_Reference/wp_...

    в крайнем случае, если эти функции по какой-то причине не подходят, можно воспользоваться функциями движка для работы с базой данных.
    https://codex.wordpress.org/Class_Reference/ru:wpd...
    Ответ написан
  • Сайт работает либо в intranet либо в internet. Как подружить две сети, что бы он работал и там, и там?

    dimasmagadan
    @dimasmagadan
    чтоб исправить ссылки на стороне вордпресса, добавьте в wp-config.php такой код
    if( 'мой ip с интернета') {
    define('WP_HOME','http://84.x.x.x:27000');
    define('WP_SITEURL','http://84.x.x.x:27000');
    }


    где "мой ip с интернета" - проверка, с какого ip адреса вы заходите (с интранета или с интернета).
    Ответ написан
    Комментировать
  • Как задавать переменные JS из админки Wordpress?

    dimasmagadan
    @dimasmagadan
    не обязательно использовать произвольные поля.
    если значения хранятся у вас в опциях, выводите их сразу из опций.

    страницу с опциями можно создать тут:
    wpsettingsapi.jeroensormani.com

    если скрипт калькулятора у вас добавлен корректно (через wp_regisrer_script или wp_enqueue_script), то добавить переменную к этому скрипту нужно через wp_localize_script

    добавлять лучше не по одной переменной, а сразу все в одном массиве. например так
    wp_localize_script('main','os',array(
    	'ajaxurl'=>admin_url('admin-ajax.php'),
    	'tClose'=> __('Close (Esc)','text_domain'),
    	'tLoading'=> __('Loading...','text_domain'),
    	'tError'=> __('Unable to load <a href="%url%">link</a>.','text_domain'),
    	'tPrev'=> __('Previous (left)','text_domain'),
    	'tNext'=> __('Next (right)','text_domain'),
    	'tCounter'=> __('%curr% from %total%','text_domain')
    	)
    );

    в этому случае они будут доступны в таком виде
    os.ajaxurl, os.tClose и тп

    если же скрипт вы добавили напрямую, в код, то добавить переменные можно добавив action к wp_header. так делать не правильно, но, если по какой-то причине не можете сделать вывод скрипта через стандартные функции, подойдет.
    Ответ написан
    Комментировать
  • Как разрешить полноэкранные видео в Wordpress?

    dimasmagadan
    @dimasmagadan
    попробуйте в 8ю строку в вашем коде добавить
    webkitallowfullscreen mozallowfullscreen allowfullscreen

    то есть, должно получиться так
    <iframe src="<?php echo esc_url( $cmo_videourl ); ?>" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
    Ответ написан
    1 комментарий
  • Каким образом можно реализовать информационную плашку «реклама» в тайтле записи на wordpress блоге?

    dimasmagadan
    @dimasmagadan
    алгоритм примерно такой.

    вариант 1
    делаем функцию prefix_plashka(), в которой обрабатывается логика появления плашки.
    вставляем ее возле всех заголовков напрямую в шаблоне.

    вариант 2
    делаем функцию prefix_plashka(), в ней все та же логика
    цепляем ее как фильтр
    add_filter( 'the_title', 'prefix_plashka' );

    второй вариант более правильный. но он в некоторых случаях может не сработать, тк некоторые шаблоны/плагины могут быть написаны не по стандартам WP
    Ответ написан
    Комментировать
  • Как исправить конфликт jQuery и Wordpress?

    dimasmagadan
    @dimasmagadan
    попробуйте что-то из этого

    1 использовать strict mode
    ваш код и используемые плагины нужно будет обернуть вот так
    (function( $ ) {
    	"use strict";
    	$(document).ready(function(){
    		// ваш код
    	}); 
    }(jQuery));


    2 заменить все $ на jQuery (не только в вашем коде, но и в плагинах)

    3 заменить идущую с WP библиотеку jQuery на вашу.
    там, где подключаете скрипты добавить такое
    wp_deregister_script('jquery');
    wp_register_script('jquery','ваш путь');
    Ответ написан
    1 комментарий
  • Нестандартный вывод записей в странице категорий, как реализовать?

    dimasmagadan
    @dimasmagadan
    если правильно понял, в чем заключается нестандартность, то вам нужно что-то такое
    if(have_posts() ) {
    $i = 0;
    while( have_posts() ){
    the_post();
    if($i==0){
    // выводим большую первую миниатюру и пост к ней
    } elseif($i!=0 && $i<5){
    // выводим правую колонку
    } else {
    // выводим остальное
    }
    $i++;
    }
    }

    алгоритм примерно такой.
    ну и нужно будет проверку добавить, для вывода граничных участков верстки.
    Ответ написан
    1 комментарий
  • Как ускорить время загрузки WordPress сайта на VPS?

    dimasmagadan
    @dimasmagadan
    у вас основная проблема в большом количестве js/css, остальное все в порядке

    1 сократить количество css/js файлов (W3 Total Cache это умеет, или можно вручную)
    2 для видео с ютуба сделать отложенную загрузку
    Ответ написан
    Комментировать
  • Какую CMS выбрать для крупного информационного портала?

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

    отсюда, стоит в первую очередь ориентироваться на уровень доступных вам программистов.

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

    затем - скорость разработки. написание кода "под вас" может затянутся. выгоднее запустить первую версию как можно быстрее, и сразу же начать писать более сложную версию. да и после запуска внезапно может оказаться, что простая версия отлично справляется.
    как пример siliconrus.com - запустились на WordPress, раскрутились, сменили движок. или обратный пример - roem.ru - наоборот, проработали долгое время, затем сменили движок на WordPress.
    чуть выше вам писали про techcrunch.

    в двух словах, выбирать можно любую.
    но я бы рекомендовал WordPress) разработка под WP сейчас в среднем дешевле, много разработчиков, в интернете огромное количество материалов
    Ответ написан
    Комментировать
  • Подключение шрифта не на главной странице WordPress. В чем ошибка?

    dimasmagadan
    @dimasmagadan
    прикрепите сюда кусок кода, которым прикрепляете шрифт
    Ответ написан
    4 комментария
  • Как отловить ошибку в плагине Wordpress?

    dimasmagadan
    @dimasmagadan
    kses_init это встроенная в WP функция.
    проверьте, есть ли у вас файл /wp-includes/kses.php
    если такого файла нет, скачайте и обновите все файлы движка.

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