Ответы пользователя по тегу CMS
  • Как сделать сайт - типа блога - чтобы половина записей были статьями, а половина - рекламными ссылками?

    san_jorich
    @san_jorich
    Творческий кодер
    Лёгким движением руки. Любая СУК(CMS) в ТЧ и WP это набор функционала, которым можно делать очень многое.
    Ответ написан
  • Как лучше реализовать личный кабинет для менеджеров проекта?

    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
    Творческий кодер
    Беритесь смело, но внимательно трижды прочитав и проанализировав ТЗ (чаще всего - хотелка заказчика). Оно(особенноо часть с функционалом) дожно быть подписано на бумаге. Обсудите с ним каждый сложный момент, чтобы впоследствии при написании желаемое не оказалось бы вершиной айсберга. Очень часто то, что для клиента кажется плевым пустяком для Вас может оказаться долговыполнимой задачей. Например: калькулятор цены по запросам и параметрам бухгалтера и главного менеджера заказчика - плевое дело, на каждом втором сайте есть), или загрузка фотографий с планшета или веб-каммеры смарт-тв на сайт, "как вконтактике".. и казалось бы чего тут такого - берем и пишем.. но по незнанке особенностей WP первое, c чем Вы споткнетесь - это AJAX JSON.. на самом деле очень много подводных камней - поэтому только окончательно убедившись что знаете все, что хочет заказчик правильно и представив это как можно детальней и поэтапно как Вы будете это делать - смело беритесь за дело. Оно того стоит!
    На счет предоплаты - не надо. Договоритесь с клиентом о режиме Step-by-Step, и смело берите деньги за выполнение каждого этапа.
    Ответ написан
  • После обновления WordPress до 4.9.7 перестал работать smtp?

    san_jorich
    @san_jorich
    Творческий кодер
    ErrorInfo: SMTP connect() failed.
    Вы не проходите верификацию. "Пилите" настройки. А если уж совсем край - пробуйте переустановить и настроить плагин последней версии заново. У меня при обновлениях WP Mail SMTP работает отлично
    Ответ написан
  • Как сделать на домене первого уровня и второго - управление через одну CMS?

    san_jorich
    @san_jorich
    Творческий кодер
    Если одна CMS WP на 2 домена - то однозначно через Multisite
    Если CMS на каждый домен своя - то наиболее простой вариант - через плагины, например MainWP Dashboard
    Ответ написан