Intereting Posts
Файлы JavaScript, зарегистрированные в родительской теме, не будут загружаться при вызове wp_enqueue_script () в дочерней теме? плагин add action hook не работает: Добавляя действие к save_post, почта должна быть сохранена дважды, чтобы функция работала Мой подкаталог с другим сайтом wordpress использует основную тему Установите категорию по умолчанию – если пользователь не выбрал одно – перед созданием сообщения Показать меню заголовка навигации по почте и категориям Улучшение связанных должностей Должно помещать пользовательский код в functions.php или создавать плагины Возможности пользовательского почтового типа Настройка административных панелей редактирования и позиций метабокса и видимость для всех пользователей и администраторов Публикация сообщения при редактировании формы сообщения с нажатием клавиши ввода / возврата на клавиатуре Почему я не могу получить доступ к моей интрасети LDAPS с помощью NADI? Использование обоих подкаталогов и поддоменов в Multisite Получение содержимого пользовательского типа сообщений с основного сайта Multisite Смена каталога веб-сайта безопасно, чтобы добавить статическую страницу при запуске

Как вы создаете структуру% post_type% /% postname% / permalink?

Как вы создаете структуру% post_type% /% postname% / permalink?

Это то, что не работает:

например. (domain.com/blog/) -> "click on post" -> (domain.com/post-name)

Как сделать «постоянные ссылки в блоге» такими, как это …

например. (domain.com/blog/) -> «нажмите на сообщение» -> (domain.com/ blog / post-name)


Хотя работают другие настраиваемые типы сообщений? …

например. (domain.com/portfolio/) -> «щелкните по части портфолио» -> (domain.com/portfolio/project)

Кроме того, следует ли мне reflush Permalinks?

Вот код пользовательских сообщений и код таксономии в моем файле functions.php:

// Add Custom Post Type "Portfolio" register_post_type('portfolio', array( 'label' => 'Portfolio', 'description' => '', 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'portfolio'), 'query_var' => true, 'supports' => array('title', 'revisions',), 'taxonomies' => array('Portfolio Category',), 'labels' => array ( 'name' => 'Portfolio', 'singular_name' => 'Project', 'menu_name' => 'Portfolio', 'add_new' => 'Add Project', 'add_new_item' => 'Add New Project', 'edit' => 'Edit', 'edit_item' => 'Edit Project', 'new_item' => 'New Project', 'view' => 'View', 'view_item' => 'View Portfolio Piece', 'search_items' => 'Search Portfolio', 'not_found' => 'No Portfolio Pieces Found', 'not_found_in_trash' => 'No Portfolio Pieces found in Trash', 'parent' => 'Parent Project', ),) ); // Add Custom Post Type "Testimonials" register_post_type('testimonials', array( 'label' => 'Testimonials', 'description' => '', 'public' => true,'show_ui' => true, 'show_in_menu' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => ''), 'query_var' => true, 'supports' => array('title', 'revisions',), 'labels' => array ( 'name' => 'Testimonials', 'singular_name' => 'Testimonial', 'menu_name' => 'Testimonials', 'add_new' => 'Add New', 'add_new_item' => 'Add New Testimonial', 'edit' => 'Edit', 'edit_item' => 'Edit Testimonial', 'new_item' => 'New Testimonial', 'view' => 'View', 'view_item' => 'View Testimonial', 'search_items' => 'Search Testimonials', 'not_found' => 'No Testimonials Found', 'not_found_in_trash' => 'No Testimonials Found in Trash', 'parent' => 'Parent Testimonial', ),) ); //Add Taxonomy for Portfolio Category add_action( 'init', 'portfolio_create_taxonomies', 0 ); function portfolio_create_taxonomies() { //Porfolio Category $portfolio_labels = array( 'name' => _x( 'Portfolio Category', 'taxonomy general name' ), 'singular_name' => _x( 'Portfolio Category', 'taxonomy singular name' ), 'search_items' => __( 'Search in portfolio category' ), 'all_items' => __( 'All portfolio categories' ), 'most_used_items' => null, 'parent_item' => null, 'parent_item_colon' => null, 'edit_item' => __( 'Edit portfolio category' ), 'update_item' => __( 'Update portfolio category' ), 'add_new_item' => __( 'Add new portfolio category' ), 'new_item_name' => __( 'New portfolio category' ), 'menu_name' => __( 'Portfolio Categories' ), ); register_taxonomy('portfolio-category',array('portfolio'),array( 'hierarchical' => true, 'labels' => $portfolio_labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('slug' => 'portfolio-category') )); } 

EDIT: Я думаю, эта проблема возникает из-за шаблона heirachy, который на странице блога использует «index.php», когда он должен использовать файл «template-blog.php».

Solutions Collecting From Web of "Как вы создаете структуру% post_type% /% postname% / permalink?"

Помимо того факта, что отключение «хороших» постоянных ссылок на странице «Настройки»> «Постоянная ссылка» отключает довольно постоянные ссылки для всех типов сообщений и таксономии, параметры не влияют на пользовательские типы сообщений или таксономии.

Если вы установите постоянные ссылки в blog/%postname% то ваши сообщения будут иметь структуру: www.yoursite.com/blog/hello-world .

С другой стороны, когда тип записи зарегистрирован (по умолчанию), он установит постоянную ссылку на www.yoursite.com/post-type/newpost (при условии, что у вас есть довольно постоянные ссылки, а тип post-typepost-type ).

То же самое касается пользовательских таксономий: пользовательская таксономия будет отображаться как www.yoursite.com/custom-taxonomy/ а пользовательский термин таксономии будет отображаться как www.yoursite.com/custom-taxonomy/custom-taxonomy-term/ .

Однако есть несколько вещей, которые должны быть на месте, чтобы это произошло.

В register_posttype () типа post должно быть установлено следующее:

 'rewrite' => true, 'has_archive' => 'post-type-name', // "post-type-name" is replaced with your post type name 

Переписать просто позволяет WordPress переписать URL-адрес. По умолчанию установлено значение true. has_archive определяет имя страницы архива (индекса) для этого типа сообщения. Если это значение не задано, тип сообщения не имеет индексной страницы.

То же самое верно и для пользовательских таксономий. В register_taxonomy ():

 'rewrite' => array('slug' => 'hierarchical-taxonomy' ), 

Из Кодекса :

rewrite (boolean или array) (необязательно) Установите значение false, чтобы предотвратить автоматическое переписывание URL-адресов, например, «довольно постоянные ссылки». Передайте массив $ args, чтобы переопределить настройки URL по умолчанию для постоянных ссылок, как описано ниже.

$ args array

  • 'slug' – Используется как симпатичный текст permalink (т.е. / tag /) – по умолчанию используется таксономия $ (название таксономии)
  • 'with_front' – разрешить добавление постоянных ссылок с передней базой – по умолчанию используется значение true 'hierarchical' – true или false разрешают иерархическую
  • URL-адреса (реализованы в версии 3.1)

Примечание. После изменения может потребоваться сброс правил перезаписи. Вы можете сделать это вручную, перейдя на страницу параметров Permalink Settings и повторно сохраните правила – вам не нужно их изменять – или вызовите $ wp_rewrite-> flush_rules (). Вы должны очищать правила только после создания таксономии не каждый раз, когда загружается плагин / тема.

Самый простой способ – войти в wp-admin, перейти к настройкам и выбрать параметры постоянной ссылки. Оттуда вы можете изменить структуру постоянных ссылок на собственный стиль.

Например, мой setup таким образом / blog /% postname% /. Вы также можете возиться с кодом .htaccess, если хотите, но это становится немного грязным.

Другой способ, которым вы можете это сделать, – это отвратительный способ, но если вы создадите собственные шаблоны страниц в .php в имени заголовка, имя вашего шаблона, что бы вы ни хотели, а затем связать его.

 <?php /** * Template Name: About * Description: A full-width for About */ get_header(); ?> 

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

Надеюсь это поможет.

http://codex.wordpress.org/Post_Types ^ Это может помочь вам и в типах сообщений.

Очень легко, НЕТ НУЖНО ЛЮБОЙ хак. Просто оставьте свой код так, как он есть, и перейдите в «Настройки-перманентные». Выберите «Пользовательская структура» и вставьте это: /% category% /% postname% /

и сохраните его, и он сделает URL-адреса, такие как POSTYPE / POSTNAME

Я использую это, и он работает.