goldenapples
  • 0
Гуру

Можно ли добавлять структурные теги /%year%/%monthnum%/y%/ к постоянным ссылкам пользовательских типов записей?

  • 0

Просто интересно, пробовал ли кто-нибудь использовать какие-либо структурные теги, доступные для размещения постоянных ссылок с пользовательскими типами сообщений… Я перемещаю свои сообщения «списки» на сайте, которым я управляю, из взлома категории в разделе «Сообщения» в их собственный настраиваемый тип сообщений, но я хотел бы сохранить какую-то числовую ссылку на дату в структуре постоянной ссылки. Насколько сложно это настроить?

Share
  1. Этот процесс и другие вопросы, связанные с постоянными ссылками настраиваемых типов сообщений, более подробно описаны в блоге Shiba Shake.

    • 0
    • Я никогда раньше не изучал правила маски конечных точек — это было интересное упражнение, но, к сожалению, не то, что я искал. Настройка масок конечных точек при регистрации типа сообщения позволяет использовать разные типы архивов для этого типа сообщения (и вы, по-видимому, можете определить свои собственные, что очень здорово), но это не влияет на каноническую структуру постоянных ссылок для сообщений этого типа..

      • 0
    • Когда мои «объявления» были сообщениями в специальной категории, их структура постоянной ссылки была /2011/04/01/имя сообщения. После того, как вы сделаете их настраиваемым типом записи, структура постоянной ссылки будет /listing/post-name. В идеале я хотел бы что-то вроде /listing/2011/04/09/post-name. Хотя не уверен, что это возможно без особых усилий.

      • 0
    • Конечные точки должны позволять вам это делать, или, по крайней мере, об этом говорится в заявке на отслеживание, в которой обсуждаются конечные точки.

      • 0
    • По- видимому, настройка "with_front" => true позволяет вам посещать сообщения пользовательского типа, используя любой из структурных тегов, включенных в «permalink_epmask». Однако это не меняет канонические постоянные ссылки, возвращаемые с помощью get_permalink() . Таким образом, посещение /listing/2011/04/09/post-name приведет к простому перенаправлению на /listing/post-name.

      • 0
  2. Да, вы должны иметь возможность использовать URL-адреса на основе даты, используя permalink_epmask параметр с вашим register_post_type вызовом.

    add_action('init', 'wpse14370_custom_init');
    function wpse14370_custom_init() {
        $args = array(
            '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' => null,
            'permalink_epmask' => EP_DATE,
            'supports' => array('title','editor','author','thumbnail','excerpt','comments')
      ); 
      register_post_type('book',$args);
    }
    

    Точно не знаю, как работают пользовательские конечные точки, но это поддерживается в соответствии со страницей кодекса.
    http://codex.wordpress.org/Function_Reference/register_post_type

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

    EP_NONE
    EP_PERMALINK
    EP_ATTACHMENT
    EP_DATE
    EP_YEAR
    EP_MONTH
    EP_DAY
    EP_ROOT
    EP_COMMENTS
    EP_SEARCH
    EP_CATEGORIES
    EP_TAGS
    EP_AUTHORS
    EP_PAGES
    EP_ALL
    

    Если это не работает правильно, возможно, with_front будет достаточно просто установить значение true, если вы уже используете постоянные ссылки на основе даты.

    • 0

Оставить ответ

You must login to add an answer.