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

    san_jorich
    @san_jorich
    Творческий кодер
    Давайте попробуем разобраться что Вы хотите в действительности:
    Цитата: И тем самым, ниже, обновлялись поля
    Т.е полей несколько, определенных?
    Цитата: (которые в самих записях, они все одинаковые)
    Записях 0-о?
    Одни и те же поля у нескольких записей ??? Тогда почему выборка из SELECT?
    Или Вы хотите выбрать запись и скопировать все значения произвольных полей одной записи во все остальные записи?
    Массовое редактирование произвольного поля, или Массовое клонирование записи?
    .. Я выбираю одну запись и ?
    Или обновлялись - это не обновление в смысле перезаписи, а вывод значений произвольных полей выбранной записи? Если да то укажите:
    - тип записи (стандартные, ли custom post type)
    - список slug произвольных полей, которые Вы хотите получить
    Ответ написан
    3 комментария
  • Как сортировать по категориям wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Смотрите настройки плагина. Либо переписывайте Вывод по категориям в цикле.Можно доработать ajax вывод -> Кликаем по категории, циклом получаем результат запроса по категории. Копируем часть плагина, которая все выводит и подставляем данные. Более конкретно сказать трудно
    Ответ написан
    Комментировать
  • Как сделать подобный эффект для записей в wordpress сайте?

    san_jorich
    @san_jorich
    Творческий кодер
    А какой там эфект? 0_о. Все статично, ровненьки, перпендикулярненько, и логотип их вооот-такой.
    Карточка?
    Пример
    <div class="card-deck">
      <div class="card">
        <img class="card-img-top" src="..." alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Card title</h5>
          <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.</p>
        </div>
        <div class="card-footer">
          <small class="text-muted">Last updated 3 mins ago</small>
        </div>
      </div>
      <div class="card">
        <img class="card-img-top" src="..." alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Card title</h5>
          <p class="card-text">This card has supporting text below as a natural lead-in to additional content.</p>
        </div>
        <div class="card-footer">
          <small class="text-muted">Last updated 3 mins ago</small>
        </div>
      </div>
      <div class="card">
        <img class="card-img-top" src="..." alt="Card image cap">
        <div class="card-body">
          <h5 class="card-title">Card title</h5>
          <p class="card-text">This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content than the first to show that equal height action.</p>
        </div>
        <div class="card-footer">
          <small class="text-muted">Last updated 3 mins ago</small>
        </div>
      </div>
    </div>

    Это bootstrap
    Ответ написан
  • Изменение содержания записи (content) по условию?

    san_jorich
    @san_jorich
    Творческий кодер
    Велотехника
    Масса вариантов: Опции, Произвольные поля
    Ответ написан
  • Как указать категорию в цикле вывода произвольных записей?

    san_jorich
    @san_jorich
    Творческий кодер
    Задайте таксономии к Вашему CPT и в запрос добавляйте tax_query
    Ответ написан
  • Как реализовать такое на wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Готового решения не встречал, в любом случае - или несколько плагинов вместе или один, - свой плагин - что проще, хоть и кажется массивно и архисложно на первый взгляд.
    Клиент нажимает на кнопку, на которой висит обработка jQuery('id кнопки').on('click',function(){});
    Функция вызывает swal(). sweetalert.js нужно подключать).
    Swal c html формами и onLoad: function() инициирующей одно из полей как datatimepicker (например), который тоже нужно подключать. Выборку дат вы можете запрашивать ajax json-ом, или задать их вручную(если они статичны и постоянны.. например 1 и 3 число каждого месяца, или второй понеделльник месяца.. тогда не нужно будет дополнительно писать UI и add\get options() )
    Также Вам понадобится валидация, и ajax post запрос в случае успешной проверки.
    Ajax-ом все собранные данные отправляются в php где, например, распределяются по таксономиям (в виде термов) и произвольным полям Вашего Custom Post Type и заводятся wp_insert_post и рядом других функций в базу данных.
    В админке вы можете настроить дополнительные поля, отображающие значения произволных полей в общей таблице записей CPT. У Вас полный контроль над CPT
    Даты должны автоматически исчезать при наборе 6 человек.. 6 человек в рамках одного запроса - jQuery функция. 6 человек как 6 уже созданных запросов\записей - php или jQuery-функция, но тогда точно подгружать даты нужно динамически, и если массив свободных дат пуст то не выводить\выводить пасхалку.. что угодно)
    Ответ написан
    Комментировать
  • Не работают плагины в Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Плагины Wordpress? Самопсные?
    Ответ написан
  • WordPress: я вписываю весь нужный код в functions.php. Правильно ли это?

    san_jorich
    @san_jorich
    Творческий кодер
    Нет, не правильно. Не нормально. По многм причинам. (Обновление системы, Обновление темы итд)
    Что мешает вам создать файлик в plugins ?
    Your Mega Shortcodes Plugin
    <?php /*
    Plugin Name: My Mega-Sortcodes Plugin
    Plugin URI: https://toster.ru/q/587001
    Description: Плагин с моим шоткодами
    Version: 1.2.3
    Author: Dias Oral
    */
    
    /* Подключение шоткод функций  */
    function first_shortcode_example(){
    echo 'this is my shortcode motherfuckerfunction !';
    }
    add_shotcode('first_shortcode_example','first_shortcode_example');
    ?>

    Старайтесь делать Ваши решения максимально независимыми от обстоятельств.
    Ответ написан
    Комментировать
  • Страницу Произольного Типа Записи для для кастомных ролей нужно добавлять отдельно?

    san_jorich
    @san_jorich Автор вопроса
    Творческий кодер
    Игорь Воротнёв , с типами вроде решил.. теперь таже штука с таксономиями, будь они
    Регистрация таксономии
    function es_event_types_taxonomy() {
    
        $labels = array(
            'name'                       => 'Тип',
            'singular_name'              => 'Тип мероприятия',
            'menu_name'                  => 'Тип мероприятия',
            'all_items'                  => 'Все типы мероприятий',
            'parent_item'                => 'Главный тип мероприятия',
            'parent_item_colon'          => 'Parent Item:',
            'new_item_name'              => 'Название нового типа мероприятий',
            'add_new_item'               => 'Добавить тип мероприятия',
            'edit_item'                  => 'Редактировать тип',
            'update_item'                => 'Обновить тип',
            'view_item'                  => 'Смотреть тип',
            'separate_items_with_commas' => 'Добавление через запятую',
            'add_or_remove_items'        => 'Добавить или удалить тип мероприятий',
            'choose_from_most_used'      => 'Выбрать из наиболее популярных',
            'popular_items'              => 'Популярные типы',
            'search_items'               => 'Найти тип',
            'not_found'                  => 'Тип не найден',
            'no_terms'                   => 'Типов мероприятий нет.',
            'items_list'                 => 'Список типов меропрриятий',
            'items_list_navigation'      => 'Items list navigation',
        );
    
       
        $es_type_capabilities = array(
            'manage_terms' => 'manage_es_event_type',
            'edit_terms' => 'edit_es_event_type',
            'delete_terms' => 'delete_es_event_type',
            'assign_terms' => 'assign_es_event_type',
        );
    
        $args = array(
            'labels'                     => $labels,
            'hierarchical'               => true,
            'public'                     => true,
            'show_ui'                    => true,
            'show_admin_column'          => true,
            'show_in_nav_menus'          => true,
            'show_tagcloud'              => true,
            'show_in_quick_edit'         => true,
            'meta_box_cb'                => true,
            'capabilities'               => $es_type_capabilities, 
        );
        register_taxonomy( 'es_event_type', array( 'es_event' ), $args );
    
    }
    add_action( 'init', 'es_event_types_taxonomy', 0 );
    
    /* В права роли соответственно добавил
    
       'manage_es_event_type'	=>	true,
        'edit_es_event_type'	=>	true,
        'delete_es_event_type'	=>	true,
        'assign_es_event_type'	=>	true,
    */

    Не работает..
    Ответ написан
  • Как настроить дополнительные условия валидации полей Contact Form 7 на Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно чиркануть небольшой плагин с js, отлавливающим содержимое поля, но что-то мне подсказывает что скрипты не работают через UI, а нанимать "китайцев" мы еще не научились. Поэтому следующим решением может быть функция, фильтрующая wp_mail.
    Также, можно поставить проверку типа скрытого поля: Если оно заполнено и пошло в запросе то прерывать выполнение с 200ым.
    Еще можно скрывать кнопку отправки до
    условий и после отправки
    Ответ написан
    4 комментария
  • Как полученные данные с сервера, использовать для записей?

    san_jorich
    @san_jorich
    Творческий кодер
    Формируйте все добро в массив и ajax-ом в incert_post
    Ответ написан
    Комментировать
  • Связать два блока на WP?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно создать:
    - Плагин с опциами\значениями. Заводите значения в админке и выводите их "снаружи"
    - Запись с произвольными полями - Меняете значение поля в админке - оно меняется "снаружи"
    - Шоткод-функцию, выводящую в нужных местах нужную информацию.
    А лучше всего скомбинировать. Небольшой плагин со страницей настроек и шоткод выводящий эти настройки наружу.
    Ответ написан
    Комментировать
  • Обучение WordPress?

    san_jorich
    @san_jorich
    Творческий кодер
    Курсы по Wordpress - практика с использованием библии. Весь набор функций WP вертится на PHP, CSS, jQuery, до кучи Bootstrap можно прибавить.. поэтому изучать нужно прежде всего их, и методы подключения скриптов\плагинов.
    Я так думаю ((с) Мимино)
    Ответ написан
    Комментировать
  • Почему в админке wordpress не отображается страница с изменением своих типов записей?

    san_jorich
    @san_jorich
    Творческий кодер
    А правильно ли заданы url-ы и подключена функция вывода cpt в админке? Без кода сложно что-либо сказать конкретное. Маловероятно, но посмотрите, не конфликтует ли url
    Ответ написан
  • Как добавить такой функционал на WordPress?

    san_jorich
    @san_jorich
    Творческий кодер
    Разные случаи - разные решения
    Вы хотите все это как ссылки на примеры использовать? - Тогда таксономия в виде тегов. Смотрите как создать произвольную таксономию WP.
    Вы хотите сделать это "статично"? - Тогда не парьтесь - пропишите в шаблоне и оформите блоки через CSS.
    Вы хотите создать это как набор в опциях темы? - создайте одну строковую опцию, разделяйте запятой все ваши достижения. Подключите в header темы jQuery код, генерирующий элементы, и заполяющий каждый элемент текстом с запятой в виде разделителя. CSS также прописывается.
    Также можно это выводить через шоткод, заполняя данные на странице профиля (немного сложнее но красивее)
    Вы хотите все это качественно, в соответствии с портфолио - пишите плагин. Это не сложно
    Ответ написан
    Комментировать
  • Как прикрепить изображенние записи для виртуальной страницы?

    san_jorich
    @san_jorich
    Творческий кодер
    Прикрепить существующее в базе - вывести на экран.
    1) Изображение одно и тоже, существует, не прикрепленно никуда: - берм url, подставляем в post_thumbnail_url(). выводим.
    2) Существует как attachment к чему-либо:
    $images = get_attached_media('image',$post_id );
    	foreach ($images as $image) {?><img src="<?php echo $image->guid;?>" alt="" /><?php	} ?>
    Ответ написан
  • Как лучше реализовать личный кабинет для менеджеров проекта?

    san_jorich
    @san_jorich
    Творческий кодер
    Лучший плагин в Вашем случае - написанный Вами под Ваши задачи.
    Давайте начнем с разбора что к чему:
    Клиенты - Custom Post Type 'agency_clients' с произвольными полями ФИО ИНН УНП ОКВЕД ХЗ итд итп.
    Операции с Клиентами 'agency_operation' -
    Custom Post Type
    if ( ! function_exists('agency_operations_post_type') ) {
    
    function agency_operations_post_type() {
    
        $operations_labels = array(
            'name'                  => _x( 'Логи операций', 'agency_operations' ),
            'singular_name'         => _x( 'Логи операций', 'agency_operations' ),
            'menu_name'             => __( 'Логи операций', 'agency_operations' ),
            'name_admin_bar'        => __( 'Операция', 'agency_operations' ),
            'archives'              => __( 'Завершенные операции', 'agency_operations' ),
            'attributes'            => __( 'Аттрибуты операции', 'agency_operations' ),
            'parent_item_colon'     => __( 'Главная операция:', 'agency_operations' ),
            'all_items'             => __( 'Все Операции', 'agency_operations' ),
            'add_new_item'          => __( 'Добавить новую операцию', 'agency_operations' ),
            'add_new'               => __( 'Добавить новую операцию', 'agency_operations' ),
            'new_item'              => __( 'Новая операция', 'agency_operations' ),
            'edit_item'             => __( 'Редактировать Операцию', 'agency_operations' ),
            'update_item'           => __( 'Обновиить Операцию', 'agency_operations' ),
            'view_item'             => __( 'Просмотеть Операцию', 'agency_operations' ),
            'view_items'            => __( 'Просмотреть Операцию', 'agency_operations' ),
            'search_items'          => __( 'Найти Операцию', 'agency_operations' ),
            'not_found'             => __( 'Операций не проводилось', 'agency_operations' ),
            'not_found_in_trash'    => __( 'Корзина Операций пуста', 'agency_operations' ),
            'featured_image'        => __( 'Изображение Операции', 'agency_operations' ),
            'set_featured_image'    => __( 'Установить изображение Операции', 'agency_operations' ),
            'remove_featured_image' => __( 'Удалить изображение Операции', 'agency_operations' ),
            'use_featured_image'    => __( 'Все изображения Операции', 'agency_operations' ),
            'insert_into_item'      => __( 'Добавить в Объект', 'agency_operations' ),
            'uploaded_to_this_item' => __( 'Прикрепить к этой Операции', 'agency_operations' ),
            'items_list'            => __( 'Лист операций', 'agency_operations' ),
            'items_list_navigation' => __( 'Лист операций', 'agency_operations' ),
            'filter_items_list'     => __( 'Фильтр Операций', 'agency_operations' ),
        );
        $operations_args = array(
            'label'                 => __( 'Логи операций', 'agency_operations' ),
            'description'           => __( 'Логи операций.', 'agency_operations' ),
            'labels'                => $operations_labels,
            'supports'              => array( 'title', 'editor', 'revisions', 'thumbnail' ),
            'taxonomies'            => array( 'agency_operation_type'),
            'hierarchical'          => false,
            'public'                => true,
            'show_ui'               => true,
            'show_in_menu'          => true,
            'menu_position'         => 5,
            'menu_icon'             => 'dashicons-admin-home',
            'show_in_admin_bar'     => true,
            'show_in_nav_menus'     => true,
            'can_export'            => true,
            'has_archive'           => true,
            'exclude_from_search'   => true,
            'publicly_queryable'    => true,
            'capability_type'       => 'page',
        );
        register_post_type( 'agency_operations', $operations_args );
    
    }
    add_action( 'init', 'agency_operations_post_type', 0 );
    
    }

    с Custom Taxonomy - виды операций
    Менеджер -
    Роль
    * Роль: Менеджер */ 
    register_activation_hook( __FILE__, 'create_manager_role' );
    function create_manager_role(){
      $new_role = add_role('amanager', 'Менеджер', array(
          'upload_files' => true,
          'edit_posts' => true,
          'edit_published_posts' => true,
          'publish_posts' => true,
          'read' => true,
          'delete_posts' => false,
          'delete_published_posts' => true,
          'moderate_comments'=> true,
        )
      );  
    }
    register_deactivation_hook( __FILE__, 'delete_manager_role' );
    function delete_manager_role(){  remove_role( 'manager' ); }
    .
    /*ВАЖНО: Приведенный код - рабочий пример, требующий правок и доработок "под себя". */

    Ловите действия менеджеров и публикуйте их в операции. Оъедените все в нехитрый интерфейс и Ваша задача выполненна успешно
    Ответ написан
    Комментировать
  • Как создать сайт для фитнес центра? Wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Все зависит от функциональной нагрузки и конкретных задач)
    Как создать... запасайтесь берушами, кофеином, никотином, валидолом, аспирином.. терпением тоже запаситесь. Не подумайте что это стеб. Я вполне серьезно: серьезные задачи - серьезная работа, и если у Вас еще нет опыта "и шишек с мозолями на мозге" - то приготовьтесь к этому. Конечно, если Вам достаточно визитки, или малофункционального одностраничнка то.. то зачем вам wordpress? Достаточно конструктора типа викс. Если Вы запланировали функционал с бронированием, продажей БАДОВ и прочими прелстями то перечитайте это еще раз
    Ответ написан
    Комментировать
  • Как в fancyBox увеличивать картинки только конкретного блока?

    san_jorich
    @san_jorich
    Творческий кодер
    Игорь Плотников, Вам уже не актуально наверное, но тем кто зайдет - используйте не rel а data-fancybox-group
    В качестве примера приведу функцию, выводящую все прикрепленные к записи картинки
    function get_estate_photos($post_id){ ?>
    <p>
    <?php
    	$images = get_attached_media('image',$post_id );
    	foreach ($images as $image) {	echo'<a class="fancybox" href="'.$image->guid.'" data-fancybox-group="images_'.$post_id.'" title=""><img class="estate_img" src="'.$image->guid.'" alt="" /></a>';	} ?>
    </p>
    <?php }
    Ответ написан
    Комментировать