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

  • Приветствую, форумчане! Есть задача, сделать страницу, называется works (~ссылка: site.ru/works), соответственно на ней выведены записи произвольного типа (work). Как мне объединить эти записи с этой страницей, чтобы страница была родителем этих записей?
    ————
    Если подробнее, то вот такой вид имеют записи: site.ru/work/work-name

    А надо, чтобы вместо work было works, т.е site.ru/works/work-name

    Как такое провернуть?? Не нашёл возможного решения

Просмотр 15 ответов — с 1 по 15 (всего 26)
  • Если я не ошибаюсь, страница может быть родителем только других страниц. А родителем записей могут быть только категории.

    Есть плагины, который позволяет создать категорию для страниц, но не знаю, если можно наоборот.

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

    записи произвольного типа (work)

    Записи или произвольный тип контента?

    категории

    У записей не категории, а рубрики.

    Если не задавать рубрику, то записи размещаются в рубрике «Без рубрики»

    Если не задавать рубрику, то записи размещаются в рубрике «Без рубрики»

    Если не задавать рубрику, то записи размещаются в рубрике, назначенной дефолтной в настройках. По умолчанию таковой является рубрика «Без рубрики», но никто не запрещает поменять дефолтную рубрику. Или переименовать эту.

    Но вопрос совершено не в этом.

    Спасибо, это частично решает мою проблему, но всё же нет ответа на конкретный вопрос

    Имеете ввиду ваш первоначальный вопрос? «Как мне объединить эти записи с этой страницей, чтобы страница была родителем этих записей?»

    Объединить записи со страницей нельзя.

    Ладно, допустим. Мне самое главное, чтобы ссылка имела вид site.ru/works/work-name,
    как сделать так? Напомню: post_type — work. Но также есть страница со ссылкой site.ru/works

    • Ответ изменён 5 лет, 6 месяцев назад пользователем l1ght1x.

    нет ответа на конкретный вопрос

    Чтобы получить ответ нужно отвечать на вопросы.

    post_type — work.

    Таки это произвольный тип. В таком случае нужно создать и присоединить к нему таксономию с нужным слагом.
    (И, если я правильно понял, этому типу контенту нужно изменить слаг)

    Но также есть страница со ссылкой site.ru/works

    Страницу удалите. И из корзины тоже.

    Хм.. добавил таксономию, но всё-равно ссылки те же http://prntscr.com/l8dttt

    Хм.. добавил таксономию, но всё-равно ссылки те же

    См настройки пермалинков. И/или измените слаг этому типу контенту.

    Думаете я просто так говорил, что страницы нужно удалить?

    Или Вы что, что, кастомный тип page (а не post) сделали? Покажите код.

    Добавил произвольный тип:

    
    add_action( 'init', 'register_custom_ptypes' );
    function register_custom_ptypes() {
    	$labels = array(
    		'name' => 'Портфолио',
    		'singular_name' => 'Работа', // админ панель Добавить->Функцию
    		'add_new' => 'Добавить работу в портфолио',
    		'add_new_item' => 'Добавить новую работу', // заголовок тега <title>
    		'edit_item' => 'Редактировать работу',
    		'new_item' => 'Новая работа',
    		'all_items' => 'Общее портфолио',
    		'view_item' => 'Просмотр работ на сайте',
    		'search_items' => 'Искать работы',
    		'not_found' =>  'Работ не найдено.',
    		'not_found_in_trash' => 'В корзине нет работ.',
    		'menu_name' => 'Портфолио' // ссылка в меню в админке
    	);
    	$args = array(
    		'labels' => $labels,
    		'public' => true, // благодаря этому некоторые параметры можно пропустить
    		'menu_icon' => 'dashicons-welcome-view-site', // иконка корзины
    		'menu_position' => 5,
    		'taxonomies' => array('works'),
    		'has_archive' => true,
    		'supports' => array( 'title', 'editor', 'thumbnail')
    	);
    	register_post_type('work', $args);
    }
    

    Добавил таксономию

    
    add_action('init', 'create_taxonomy');
    function create_taxonomy(){
    	// список параметров: http://wp-kama.ru/function/get_taxonomy_labels
    	register_taxonomy('pages', array('work'), array(
    		'label'                 => '', // определяется параметром $labels->name
    		'labels'                => array(
    			'name'              => 'Pages',
    			'singular_name'     => 'Страница',
    			'search_items'      => 'Искать страницы',
    			'all_items'         => 'Все страницы',
    			'view_item '        => 'Смотреть страницу',
    			'edit_item'         => 'Редактировать страницу',
    			'update_item'       => 'Обновить страницу',
    			'add_new_item'      => 'Добавить страницу',
    			'new_item_name'     => 'Имя новой страницы',
    			'menu_name'         => 'Страницы',
    		),
    		'description'           => '', // описание таксономии
    		'public'                => true,
    		'publicly_queryable'    => null, // равен аргументу public
    		'show_in_nav_menus'     => true, // равен аргументу public
    		'show_ui'               => true, // равен аргументу public
    		'show_in_menu'          => true, // равен аргументу show_ui
    		'show_tagcloud'         => true, // равен аргументу show_ui
    		'show_in_rest'          => null, // добавить в REST API
    		'rest_base'             => null, // $taxonomy
    		'hierarchical'          => true,
    		'update_count_callback' => '',
    		'rewrite'               => true,
    		//'query_var'             => $taxonomy, // название параметра запроса
    		'capabilities'          => array(),
    		'meta_box_cb'           => null, // callback функция. Отвечает за html код метабокса (с версии 3.8): post_categories_meta_box или post_tags_meta_box. Если указать false, то метабокс будет отключен вообще
    		'show_admin_column'     => false, // Позволить или нет авто-создание колонки таксономии в таблице ассоциированного типа записи. (с версии 3.5)
    		'_builtin'              => false,
    		'show_in_quick_edit'    => null, // по умолчанию значение show_ui
    	) );
    }
    

    Так настроил ссылки http://prntscr.com/l8jayn но такие настройки действуют только для записей

Просмотр 15 ответов — с 1 по 15 (всего 26)
  • Тема «Родительская страница для кастомных типов записей» закрыта для новых ответов.