Домой Каталог: Дополнения WP-Recall Public Recall Проблема с кастомными типом записи и таксономией
36ответ(ов) в теме
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
1
10:17

Доброго времени суток.
Требуется помощ.

Созданы кастомные тип записи:

add_action('init', 'amconsoft_custom_init');
function amconsoft_custom_init() {
    $labels = array(
        'name'               => _x( 'Магазины', 'Post Type General Name', 'amconsoft' ),
        'singular_name'      => _x( 'Магазин', 'Post Type Singular Name', 'amconsoft' ),
        'add_new'            => __( 'Добавить новый', 'amconsoft' ),
        'add_new_item'       => __( 'Добавить новый магазин', 'amconsoft' ),
        'new_item'           => __( 'Новый магазин', 'amconsoft' ),
        'view_item'          => __( 'Посмотреть магазин', 'amconsoft' ),
        'search_items'       => __( 'Найти магазин', 'amconsoft' ),
        'not_found'          => __( 'Магазин не найден', 'amconsoft' ),
        'not_found_in_trash' => __( 'В корзине магазин не найден', 'amconsoft' ),
        'parent_item_colon'  => '',
        'menu_name'          => __( 'Магазины', 'amconsoft' ),

        'all_items'          => __( 'Все магазины', 'amconsoft' ),
        'edit_item'          => __( 'Редактировать магазин', 'amconsoft' ),
        'update_item'        => __( 'Обновить магазин', 'amconsoft' )
    );
    $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => 69,
        'supports' => array('title','editor','author','thumbnail','excerpt'),
        'taxonomies' => array('shop_cat', 'shop_tag'),
        'menu_icon' => 'dashicons-cart',
    );
    register_post_type( 'shop', $args );
}

и кастомная таксономия:

add_action('init', 'amconsoft_shop_taxonomies', 0 );
function amconsoft_shop_taxonomies(){
    // Adding taxonomy tree-type 'shop_cat' (category)
    $labels = array(
        'name'              => _x( 'Категории', 'taxonomy general name', 'amconsoft' ),
        'singular_name'     => _x( 'Категория', 'taxonomy singular name', 'amconsoft' ),
        'search_items'      => __( 'Найти категорию', 'amconsoft' ),
        'popular_items'     => null,
        'all_items'         => __( 'Все категории', 'amconsoft' ),
        'parent_item'       => __( 'Родительская категория', 'amconsoft' ),
        'parent_item_colon' => __( 'Родительская категория:', 'amconsoft' ),
        'edit_item'         => __( 'Изменить категорию', 'amconsoft' ),
        'update_item'       => __( 'Обновить категорию', 'amconsoft' ),
        'add_new_item'      => __( 'Добавить новую категорию', 'amconsoft' ),
        'new_item_name'     => __( 'Название новой категории', 'amconsoft' )
    );
    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'shop-category' )
    );
    register_taxonomy( 'shop_cat', array( 'shop' ), $args );

    // Adding taxonomy non tree-type 'shop_tag' (tags)
    $labels = array(
        'name'                       => _x( 'Теги', 'taxonomy general name', 'amconsoft' ),
        'singular_name'              => _x( 'Тег', 'taxonomy singular name', 'amconsoft' ),
        'search_items'               => __( 'Найти тег', 'amconsoft' ),
        'popular_items'              => __( 'Популярные теги', 'amconsoft' ),
        'all_items'                  => __( 'Все теги', 'amconsoft' ),
        'parent_item'                => null,
        'parent_item_colon'          => null,
        'edit_item'                  => __( 'Изменить тег', 'amconsoft' ),
        'update_item'                => __( 'Обновить тег', 'amconsoft' ),
        'add_new_item'               => __( 'Добавить новую тег', 'amconsoft' ),
        'new_item_name'              => __( 'Имя нового тега', 'amconsoft' ),
        'separate_items_with_commas' => __( 'Разделите теги запятыми', 'amconsoft' ),
        'add_or_remove_items'        => __( 'Добавить или удалить тег', 'amconsoft' ),
        'choose_from_most_used'      => __( 'Выбрать часто используемые теги', 'amconsoft' )
    );
    $args = array(
        'hierarchical'    => false,
        'labels'          => $labels,
        'rewrite'         => array( 'slug' => 'shop_tag' )
    );
    register_taxonomy( 'shop_tag', 'shop', $args );
}

Форма публикации:

Вы не можете просматривать опубликованные ссылки

В function.php пробовал и с фильтром и без:

add_filter( 'taxonomy_public_form_rcl', 'add_taxonomy_publicform' );
function add_taxonomy_publicform( $tax ){
    if ( !$tax['shop'] )
        $tax['shop'] = 'shop_cat';
    return $tax;
}

Но!
Сама форма не видит кастомной таксономии:

Вы не можете просматривать опубликованные ссылки

И, естественно, посты размещаются без каких либо рубрик:

Вы не можете просматривать опубликованные ссылки

В общем вопрос стандартный - где я накосячил? 😳

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
2
11:36

попробуйте просто произвести инициализацию типа записи и таксономии, затем перейдите в админку и создайте несколько терминов для таксономий.
После этого, в форме публикации все должно выводится, проверил сам.
Добавленную функцию add_taxonomy_publicform() удалите, она не нужна.

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
3
12:40

Суть в том, что и записи и таксономии работаю корректно. В админке создаются и то и другое.

Тип записи:

Вы не можете просматривать опубликованные ссылки

Таксономия:

Вы не можете просматривать опубликованные ссылки

P.S. Удалил и тип записи и таксономию и инициализировал заново. Результат без изменений. 🙁

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
4
12:51

добавил ваш код без изменений на свой тестовый сайт
инициализация типа записи и кастономий выполнилась

Вы не можете просматривать опубликованные ссылки

в форме публикации таксономии отображаются нормально

Вы не можете просматривать опубликованные ссылки
0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
5
13:18

Странно. Получается значит конфликт где-то на уровне тем/плагинов?

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
6
15:27

возможно, надо пробовать отключать сторонние плагины

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
7
10:07

Отключил все плагины, кроме WP-Recall
В function.php оставил только тот код, который приводил в 1-м посте.
Результат - без изменений...
Я в ступоре...

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
8
10:18

Я тоже подключился к тесту.
Вставил в файл функций темы ваши 2 фрагмента кода
Ради чистоты эксперимента у wp-recall оставил только аддон публикаций активным.
Зашел прописал метки и категории в новый раздел.
Вставил шорткод публикации

Вы не можете просматривать опубликованные ссылки

Проблем не вижу.

Вы эти 2 функции где подключаете? Может поиграться с аргументом очереди ?

add_action('init', 'amconsoft_shop_taxonomies', 0 );

- 0 у меня работает, но может 10 или 20 поставить вам надо?

upd: я не вписывал 3й код фильтра

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
9
11:13

Спасибо, Отшельник, что включился в тестинг.

Вот и я только что развернул чистый WP v.4.6
Тема базовая: Twenty Sixteen
Код (из первого поста) добавлен в конец function.php темы.
Плагины: WP-Recall
Из адонов активирован: Public Wp-Recall (Публикация)

И...

Вы не можете просматривать опубликованные ссылки

...без результата.

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
10
11:29

Выложу скрины с настройками. Может кто увидит ошибки:
Настройки WP-Recall:

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки

Вы не можете просматривать опубликованные ссылки
0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
11
11:46

а если выбор категории поставить чекбоксами или оставить только один выпадающий список?

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
12
11:52

Все равно не видит кастомную таксономию.

Вы не можете просматривать опубликованные ссылки
0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
13
11:55

а Test Base это что такое?

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
14
11:58

Тестовая рубрика в базовых рубриках:

Вы не можете просматривать опубликованные ссылки
0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
15
12:14

значит эта форма публикации в стандартный тип записей
почему вы показываете размещение шорткода формы публикации внутри страницы, а ее вывод производится внутри ЛК?

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
16
12:36

Вы эту же страницу

Вы не можете просматривать опубликованные ссылки

указываете и как форму публикации в настройках wp-recall?
Я создавал просто отдельную страницу - в ней указывал этот шорткод. А в настройках публикации указывал только [ public-form ] без всяких атрибутов

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
17
13:05

Андрей CS сказал(а)
почему вы показываете размещение шорткода формы публикации внутри страницы, а ее вывод производится внутри ЛК?

Я в принципе все делал, как написано в статье.

Ребята, у меня уже мозг взрывается. 🙂
Тыкните пальцем, что я делаю не так.

1. В настройках плагина, в закладке "настройки публикации" в списке "Страница публикации и редактирования" выбираем страницу "Форма публикации". Так?
2. На самой странице "Форма публикации" указываем шорткод: [ public-form post_type="shop" ]. Так?

P.S. Добавил только что шорткод [ public-form post_type="shop" ] на страницу "Личный кабинет". Кастомный тип вывелся:

Вы не можете просматривать опубликованные ссылки

...и так в каждой закладке 🙂

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
18
13:17

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

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
19
13:40

Андрей CS сказал(а)

почему вы ожидаете вывод этой формы в личном кабинете?

Я вас вообще не понимаю... А где юзер должен тогда создавать записи? На произвольной странице вне кабинета? Это как-то не очень логично звучит. Тем более что такой функционал вами реализован - в стандартные рубрики то записи добавляются корректно.

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

Плагин чудесно сейчас с этим справляется, но только с базовыми записями и рубриками. 🙁

Чего я достиг "насейчас":
1. Если разместить [ public-form post_type="shop" ] на произвольной вкладке, то необходимый результат получаем. Но проблема в том, что требуется мультивыбор категорий, а в таком варианте select выводится только один и у формы отсутствуют произвольные поля.
2. Если разместить [ public-form post_type="shop" ] на странице "Личный кабинет", рядом с [ wp-recall ] - форма выводится корректно, но на всех закладках личного кабинета.

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
20
13:44

а где вас убедили, что разместив шорткод формы публикации для кастомного типа записи на произвольной странице вы получите эту форму в личном кабинете? что то тут с логикой не вяжется.
В личном кабинете по-умолчанию выводится форма публикации в записи стандартного типа и никакого выбора для смены типа записи не предоставляется.
Если желаете разместить форму публикации для кастомного типа записи в ЛК, то следует использовать произвольные вкладки ЛК, создать такую вкладку и разместить там нужный шорткод не так сложно как кажется.

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
21
13:50

Тоесть, функционал размещения кастомных типов плагином не поддерживается в полной мере? Печалька...
По поводу произвольных типов я писал выше - не поддерживается мультивыбор и произвольные поля...

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
22
13:53

Rob Roy сказал(а)
По поводу произвольных типов я писал выше - не поддерживается мультивыбор и произвольные поля...

что не поддерживается?

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
23
13:55

Произвольные поля надо внедрять

Вы не можете просматривать опубликованные ссылки

Множество селектов задается только для типов записей post

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
24
13:57

Андрей CS сказал(а)
что не поддерживается?

Rob Roy сказал(а)
1. Если разместить [ public-form post_type="shop" ] на произвольной вкладке, то необходимый результат получаем. Но проблема в том, что требуется мультивыбор категорий, а в таком варианте select выводится только один и у формы отсутствуют произвольные поля.

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
25
14:00

Настройка в админке во вкладке "Настройки публикаций" - она для типа записей post. И селекты там же и категории к выбору. Для кастомных типов надо делать самостоятельно. ссылку на произвольные поля выше я дал

upd.

Вы не можете просматривать опубликованные ссылки

тут я что-то собирал для кастомизации публикаций. Посмотрите

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
26
14:15

Ну в принципе раз 10 уже перечитал. 🙂

Ладно, можете считать, что вы меня отфудболили. Полез ламать код плагина.

0
Вова (Otshelnik-Fm)
не в сети 3 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
27
14:20

Искренне хотел помочь, а не "отфутболить"

1
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
28
14:23

Rob Roy сказал(а)
Полез ламать код плагина.

ничего ломать не надо, сейчас добавлю поддержку этой возможности и кастомное указание через шорткод для всех типов записей, ожидайте

1
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
29
12:07

Обновляйте плагин до версии 15.1.11, будет доступна поддержка мультиселекта для произвольных типов записей, поддержку произвольных полей добавите кодом.

0
Rob Roy
не в сети 7 лет
На сайте с 15.07.2016
Участник
30
18:43

Спасибо, Андрей.
Вы просто проффи 😉

0
Тема закрыта. Публикация новых сообщений запрещена.