Ответы пользователя по тегу WordPress
  • Может ли содержимое .pot файла быть на русском?

    Islam Ibakaev Насколько я знаю, ничего плохого в этом нет. .pot делается на английском, т. к. английский является языком международного общения и обычно все переводы пляшут от него. Если вы не собираетесь это выкладывать в публичный доступ, и не планируете, что кому-то из иностранцев придётся это переводить, то можете сделать так. Ну и не совсем понятно, в чём будет разница, если у вас в шаблонах будет прогоняться русский текст, и нужно будет создать файлы en_US либо будет прогоняться английский текст и нужно будет создать файлы ru_RU. Если у вас в админке стоит русский язык, он будет подхватывать ru_RU.
    Upd. Забыл упомянуть, в работе сайта .pot и .po не используются совсем, .pot - шаблон для переводов, он не имеет в названии языковой принадлежности, .po - непосредственно содержит перевод определённого языка, ru_RU, например.
    Ответ написан
    3 комментария
  • Как разделить функции php плагина и темы в wordpress?

    Плохое решение называть функции одинаково, если они делают разные вещи. Можно добавить некий префикс к названию функции
    Ответ написан
    1 комментарий
  • Загрузка сайта с cms wordpress на хостинг, почему всё полетело?

    В дампе базы пути меняли? Допустим, на локале у вас был http://localhost, а тестовый домен test.example.com. Особенность WP в том, что он прописывает абсолютные пути к файлам в базу. Попробуйте через текстовый редактор заменить все localhost на test.example.com
    Ответ написан
    Комментировать
  • Как добавить текстовый редактор TinyMCE на страницу опций плагина?

    Что имееется ввиду под "добавлять в "контейнер" опции"?
    Вариант 1, через php:
    $set_of_buttons = add_filter('mce_buttons', create_function('', "return ['bold', 'italic', 'underline', 'bullist', 'numlist', 'alignleft', 'aligncenter', 'alignright', 'undo', 'redo'];")); // можно указать кнопки, которые будут в редакторе
    $editor_params = [
    	'wpautop'       => 0, // автоматически оборачивать абзацы в теги <p>
    	'media_buttons' => 0,
    	'textarea_name' => 'post_content', // параметр name для textarea, который будет в $_POST при передаче на сервер
    	'textarea_rows' => 10,
    	'tinymce'       => $set_of_buttons, 
    	'quicktags'     => 0,
    	'drag_drop_upload' => 0
    ];
    wp_editor( $content, $tiny_name, $editor_params ); // $content - сюда контент который сразу пихать в редактор; $tiny_name - имя для манипуляций через js; $editor_params - параметры

    Вариант 2, разметка через php, инициализация через js
    Разметка
    wp_enqueue_editor(); // подключает все скрипты и стили для tinyMCE
    <textarea name="post-content" id="post-content" cols="30" rows="10"><?= $content ?></textarea>

    Инициализация
    tinymce.init({
    selector:'#post-content',
    branding: false,
    toolbar1: 'bold italic underline | bullist numlist | alignleft aligncenter alignright | undo redo', // кнопки
    content_css: ['//fonts.googleapis.com/css?family=Open+Sans:400,600&subset=cyrillic'],  // подключаю шрифт покрасивше
    menubar: false,
    });

    Полный список параметров можно посмотреть на оф. сайте tinyMCE, много их
    Важный момент, перед отправкой на сервер, нужно сохранить из редактора в textarea, такой сниппет:
    tinymce.triggerSave();
    Ответ написан
    Комментировать
  • Как построить архитектуру сайта и учесть все тонкости?

    Я делал подобный сайт таким образом:
    1. У заказчика есть база по ЖК со всеми данными по квартирам, она отдаёт их в JSON.
    2. Я написал скрипт, который парсит этот JSON, пишет его в отдельную таблицу, а затем из этой таблицы переделывает нужным мне образом, примерно так:
      • JSON-объект "подъезд" содержит вложенные JSON-объекты "этажей", они содержат в себе JSON-объекты "квартир";
      • JSON-объект "квартиры" содержит в себе цену, площадь, ссылку на изображение планировки и всю нужную информацию.

    3. Скрипт отрабатывает через cron каждый час, тем самым поддерживая актуальность информации.
    4. Сайт получает все данные о ЖК при загрузке в виде JSON и парсит его яваскриптом в объект, т. е. AJAX запросы не используются.
    5. Сайт на Wordpress, но он там постольку-поскольку, в админке планировки не отображаются, никаких таксономий, ничего такого.

    Ещё была пачка сайтов попроще, там структура JSON такая же, но планировки выводились одним списком
    Ответ написан