Ответы пользователя по тегу WordPress
  • Как в wordpress отобразить статус пользователя онлайн, если он на сайте?

    san_jorich
    @san_jorich
    Творческий кодер
    Например добавить опцию is_online + Пару функций на фильтрах входа\выхода пользователя. При входе добавляем id в массив при выходе убираем id из массива. И функция вывода с шоткодом. Для универсальности можно сделать функцию по крону или ajax обновление
    Если самостоятельно не написать - попробуйте готовое решение
    Ответ написан
    Комментировать
  • Как скрыть часть поста на главной странице в Wordpress без использования тега more?

    san_jorich
    @san_jorich
    Творческий кодер
    Есть несколько вариантов решения
    1. Добавить к записям произвольное поле и вписывать в него текст(или дублировать часть основного текста), и выводить все это функцией с хук-фильтром the_excerpt(например)
    2. Написать функцию, отлавливающую определенную последовательность символов в содержании поста (например четыре слеша "////"), и автоматически разбивающую содержимое на части(условно) анонс\полный текст. При этом последовательность вы задаете сами и пишите:
    а - функцию с регуляркой и добавлением в бд, б - функцию вывода с хук фильтром
    3. Написать jQuery функцию, реализующую (2) Но без php-функционала. Такая штука будет гарантированно работать отлавливая div с его содержимым на странице основного цикла вывода записей
    Я бы сделал 1.. или 3)
    Ответ написан
    Комментировать
  • Можно ли добавить функционал к wordpress теме?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно. Но самостоятельно без опыта и некоторых знаний PHP jQuery и Wordpress функционала это будет не так просто. Рано или поздно придется начинать, поэтому сделайте копии базы данных, содержимого хостинга, оригинал темы скопируйте отдельно и вперед!
    P.S.: В интернете Вы натолкнетесь на множество статей, рекомендущих прописывать код в functions.php так вот.. "Воимя Alt Ctrl и Святаго Delete" ОСТЕРЕГАЙТЕСЬ ПОДОБНЫХ ПРОВОКАЦИЙ. Все, выстраданное Вами, удалится при первом же обновлении. Начните изучение с написания плагина, почитайте "каму" и "мишн блог"
    Удачи!
    Ответ написан
    1 комментарий
  • Как добавить стиль к выбранной категории?

    san_jorich
    @san_jorich
    Творческий кодер
    Почитайте тут, немного танца с бубном и все заработает
    Ответ написан
  • Как сделать ожидания скачивания?

    san_jorich
    @san_jorich
    Творческий кодер
    Здравствуйте! Вы умеете подключать js к вашей теме\плагину? Вы можете взять любой из множества jQuery таймеров, приведенных в интернете. Я приведу лишь один из вариантов. Не самый красивый, но простой, работающий и понятный
    Пример

    JS:
    jQuery(document).ready(function(){
    	var _Seconds = jQuery('.seconds').text(),  int;
    	int = setInterval(function() {
    		if (_Seconds > 0) { _Seconds--; jQuery('.seconds').text(_Seconds); }
    		else { clearInterval(int);  jQuery('.seconds').text('<a href="*">Yeah, baby! Do it!</a>'); }
    	}, 1000);
    }

    HTML:
    <div class="seconds">Скачивание начнется через 30 секунд.</div>

    Ответ написан
    Комментировать
  • Как дописать функционал плагина webriti-companion?

    san_jorich
    @san_jorich
    Творческий кодер
    Brenli, Кучаслов но не понятно - что хочу конкретно? Врядли кто-то будет устанавливать плагин и тестить на тему Вашей проблемы. Прикрепить якоря - zorca ответил. Реализовать вывод ряда записей через div с id и class с thumbnails и сылкой на запись, добавив на них якоря,правильно прописав ссылку в стандартном интерфейсе меню WP - другая история. Объясните конкретнее
    Ответ написан
    Комментировать
  • Нужна читалка pdf для wordpress. Есть какая нибудь?

    san_jorich
    @san_jorich
    Творческий кодер
    embed pdf viewer
    Ответ написан
    Комментировать
  • Как в WP Wooccomerce добавить "дополнительные услуги" в виде таблицы?

    san_jorich
    @san_jorich
    Творческий кодер
    Через произвольный тип записи с проивольными полями
    Ответ написан
    Комментировать
  • Хостинг под интернет магазин?

    san_jorich
    @san_jorich
    Творческий кодер
    Любой коммерческий
    Ответ написан
    Комментировать
  • Как отключить виджеты на блоге Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Все зависит от Вашего уровня и знания wp&php. Вот лишь некоторые варианты решения:
    - Поискать плагины контроля виджетов;
    - Удалить все лишнее из sidebar.php
    - Посмотреть в шаблон и закомментировать кусок вывода виджетов;
    - jQuery удалять\скрывать слой сайдбара
    Посмотреть настройки темы (вероятнее всего) на предмет вывода дефолтных виджетов если виджет-лист пустой
    - Посмотреть настройки footer ( По скрину похоже что оно выводится под записью в подвал )
    Ответ написан
    Комментировать
  • Как поменять слово Download на Скачать?

    san_jorich
    @san_jorich
    Творческий кодер
    Несколько вариантов на выбор:
    1. Самый "топорный"и неправильный: Посмотрите кусок кода, где выводится кнопка и замените текст "вручную"
    2. Создайте небольшой php-jquery плагин, заменяющий текст в div или кнопке (по картинке не понятно что это). Строк кода не более 10-ти
    3. Посмотрите как создавать переводы. Создайте и подключите перевод

    Накидаю пример второго варианта:
    <?php
    /*
    Plugin Name: Download_Text_Replacement
    Plugin URI: https://toster.ru/q/574707
    Description: Плагин, заменяющий текст "Download" на "Скачать"
    */
    function js_includer() {  wp_register_script('replacement', plugins_url('js.js', __FILE__)); wp_enqueue_script('replacement');} add_action( 'wp_enqueue_scripts', 'js_includer' ); /*Конечно, существует вариант с подключением в footer, но это крайне не праведное решение*/
    ?>

    В корневом каталоге создайте файл js.js c следующим кодом
    jQuery(document).ready(function(){
    	jQuery('#id_div_с_текстом')).contents(':contains("Download")')[0].nodeValue ='"Скачать"'); // Если это DIV
    	jQuery('#id_вашей_кнопки').val('Скачать'); // Если это button
    });


    // Внимание! Код приведен в качестве примера и требует правки и доработки
    Ответ написан
    Комментировать
  • Готовый документ через форму, как реализовать?

    san_jorich
    @san_jorich
    Творческий кодер
    Тут про DOC.
    Смотрите примеры с PHP, реализуйте их в плагине с подстановкой данных пользователя, опций и\или произвольных полей записей. Это не так сложно, как кажется
    Ответ написан
    Комментировать
  • Как получить блок выбора тегов с автоподстановкой как на Админ-странице WordPress?

    san_jorich
    @san_jorich
    Творческий кодер
    bootstrap форма + ajax запрос имеющихся тегов с выводом в jQuery.autocomplete
    По скрину не совсем понятно + может быть еще вывод всего добра по шоткоду.
    Ответ написан
  • Как убрать отображение поля в админке?

    san_jorich
    @san_jorich
    Творческий кодер
    1. Почитайте Мишин Блог
    2. Как вариант можно через jQuery.remove(); Давайте создадим мини-плагин в plugins/colum_remover/:

    Код colum_remover.php:
    /*
    Plugin Name: Colum Remover
    Plugin URI: https://toster.ru/q/573685
    Description: Плагин, убирающий колонку
    Version: 1.0
    Author: Александр Соболев
    Author URI: http://vk.com/san_jorich
    License: GPL2
    */
    /*  Copyright 2018  SOBOLEV_ALEKSANDER  (email : samigrai@mail.ru) */
    function cr_js_includer() {
      wp_register_script('cr_js', plugins_url('js.js', __FILE__));
      wp_enqueue_script('cr_js');
      //wp_localize_script( 'cr_js', 'ajaxurl', admin_url( 'admin-ajax.php' ) );
    }
    add_action( 'admin_enqueue_scripts', 'cr_js_includer' );


    //Код файла js.js распологающийся в корневой папке плагина
    jQuery(document).ready(function(){
    	if (window.location.href.indexOf("/edit.php?post_type=/*slug типа записи*/") > -1){jQuery.remove('#id блока\столбца');}
    }

    Вносите необходимые коррективы и пользуйтесь на здоровье!
    Ответ написан
    2 комментария
  • Как в Wordpress настроить панель входа с выводом необходимой страницы?

    san_jorich
    @san_jorich
    Творческий кодер
    А в чем трудность? Этот механизм уже реализован в WP, осталось добавить редирект
    if ( is_user_logged_in() ) {
    	wp_redirect( home_url() );
    }

    Или так
    function my_login_redirect( $url, $request, $user ){
    if( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {
    if( $user->has_cap( 'administrator') or $user->has_cap( 'author')) { $url = admin_url(); } 
    else { wp_redirect( home_url() ); }
    }
    }
    add_filter('login_redirect', 'my_login_redirect', 10, 3 );
    Ответ написан
  • Как закрыть от пользователя доступ по таксономии?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно через опцию пользователя.
    Создаете опцию region и резрешаете допуск текущему пользователю по совпадению значений region и названия, лэйбла, id.. да какого угодно из возможных параметров вашей таксономии
    Ответ написан
    3 комментария
  • Как сделать массовое редактирование меток записей в Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    массовое редактирование меток
    и
    добавить в пустое поле в графе метки
    - это разные задачи. Может как-то конкретнее ситуацию опишите?
    Если пустое поле нужно для добавления.. это ни к чему.. На мой взгляд эффективнее будет добавить пару кнопок и обрабатывать их события jQuery. Например:
    1 - в таблице записей: редактирование меток конкретной записи в каждой строке записей.
    2 - сверху/снизу: кнопка массового добавления/удаления метки(если связь присутствует то разорвать)

    Для обработки подключаем SweetAlert..JS и, в первом случае через запятую выводим имеющиеся теги, также сохраняя post_ajax-ом изменения разделяя теги запятой, а во втором в пустое текстовое поле вбиваем тег(и) которые можно(добавив пару кнопок в alert) массово удалить, добавить, или изменить(добавив еще один input для нового значения)
    Ответ написан
    Комментировать
  • Как добавить поле поиск по id в toolset или научить текстовое поле это делать?

    san_jorich
    @san_jorich
    Творческий кодер
    Самый проверенный способ - jQuery перехват + ajax post запрос на "стандартный" WP_Query
    Ответ написан
    Комментировать
  • Пробую создать плагин, как сохранять данные с страницы настроек?

    san_jorich
    @san_jorich
    Творческий кодер
    Почитайте Блог Миши, или Каму. Если не получиься самостоятельно пишите "манипуляции".
    А вообще add_option get_option update_option итд.
    Бонус )
    <?php
    /*
    Plugin Name: My_Word
    Plugin URI: https://toster.ru/q/572856
    Description: Плагин делает всякие извращения с этим словом и выводит результат в нужном месте с помощью шорткода
    Version: 1.0
    Author: Александр Соболев
    Author URI: http://vk.com/san_jorich
    License: GPL2
    */
    /*  Copyright 2018  SOBOLEV_ALEKSANDER  (email : samigrai@mail.ru) */
    
    function mw_options() {
      global $mw_page;
      add_options_page( 'My Word Options', 'My Word Options', 'manage_options', $mw_page, 'mw_option_page');  
    }
    add_action('admin_menu', 'mw_options');
    
    function mw_option_page(){
      global $mw_page;
      ?><div class="wrap">
        <h2>My Word Option's Page</h2>
        <form method="post" enctype="multipart/form-data" action="options.php">
          <?php 
          settings_fields('mw_options'); 
          do_settings_sections($mw_page);
          ?>
          <p class="submit"><input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" /></p>
        </form>
      </div><?php
    }
     
    function mw_option_settings() {
      global $mw_page;	
      register_setting( 'mw_options', 'mw_options', 'mw_validate_settings' ); 	
      add_settings_section( 'mw_section', 'Основные настройки', '', $mw_page ); 	
      $mw_field_params = array(
        'type'      => 'text',
        'id'        => 'my_word',
        'desc'      => 'Слово для манипуляций.', 
        'label_for' => 'my_word' 
      );
      add_settings_field( 'my_text_field', 'Слово', 'mw_option_display_settings', $mw_page, 'mw_section', $mw_field_params ); 
    }
    add_action( 'admin_init', 'mw_option_settings' );
     
    function mw_option_display_settings($args) {
      extract( $args ); 
      $option_name = 'mw_options'; 
      $o = get_option( $option_name ); 
      switch ( $type ) {  
        case 'text':  
          $o[$id] = esc_attr( stripslashes($o[$id]) );
          echo "<input class='regular-text' type='text' id='$id' name='" . $option_name . "[$id]' value='$o[$id]' />";  
          echo ($desc != '') ? "<br /><span class='description'>$desc</span>" : "";  
        break;
    
      }
    }
     
    function mw_validate_settings($input){foreach($input as $k => $v) {$valid_input[$k] = trim($v);} return $valid_input;}
    
    function view_manipulations(){
    $mw_option = get_option('mw_options'); $result_div='<div id="mw_option">'.$mw_option['my_word'].'</div>';return $result_div;}
    add_shortcode( 'mw_option', 'view_manipulations' );
    ?>
    Ответ написан
    2 комментария
  • Как сделать единый вход (авторизацию) для доменов и поддоменов?

    san_jorich
    @san_jorich
    Творческий кодер
    Если мы на странице входа то:
    var login = jQuery('#login').val();
    var password = jQuery('#password').val();
    foreach (страницы аки страница){
    шлем ajax post с login и password
    - Там можно сформировать url вида сайт/страницавхода?логин=login&пароль=password (точно не помню)
    - Или jQuery на каждый input подставлять значение
    Ежели success function(){ console.log('Да прибудет с нами счастье!..'); alert('счастье и печеньки');}
    }
    Ответ написан
    Комментировать