Можно ли перечислить вложения в конце конечной точки под URL с помощью специального шаблона?

WordPress предоставляет шаблоны для отображения носителя, прикрепленного к сообщению или странице ( attachment.php и т. Д.). Они также отображаются с хорошими постоянными ссылками, такими как:

 site.com/projects/a-project/an-attachment/ 

Где projects – это пуля для моего пользовательского project типа публикации. a-project – это имя записи, а an-attachment – это имя прикрепленного изображения.

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

Такие как:

 site.com/projects/a-project/attachments/ or site.com/projects/a-project/images/ 

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

Заранее спасибо!

РЕДАКТИРОВАТЬ

Некоторые интересные ресурсы:

http://johnbeales.com/20090824/endpoints-a-little-secret-for-url-manipulation-in-wordpress/

http://wordpress.org/support/topic/custom-rewrite-approach-with-add_rewrite_endpoint

Passing Query String Parameters in WordPress URL

http://codex.wordpress.org/User:DavidHouse/WP_Rewrite_API

Дизайн URL-адресов для подписок?

http://codex.wordpress.org/Template_Hierarchy

Кажется, я нашел это сам. Теперь мне удалось добавить конечную точку /photos к URL-адресу постоянной ссылки, например:

 http://mywordpressite.com/projects/a-project/photos 

И тогда пользовательский шаблон, photos.php будет загружать и показывать – с доступом к глобальной переменной $post .

Полезные ссылки:

В моих functions.php я добавил функции для фильтров single_template и query_vars и добавил конечную точку photos с помощью удобной функции add_rewrite_endpoint() .

 // Permalink rewrites/add endpoints add_filter( 'single_template', 'project_attachments_template' ); add_filter( 'query_vars', 'add_query_vars'); // You may need to go to wp-admin > Settings > Permalinks and // save the changes in order to flush rewrite rules to activate. add_rewrite_endpoint('photos', EP_PERMALINK); 

Далее в файле:

 /** * Add the 'photos' query variable so WordPress * won't mangle it. */ function add_query_vars($vars){ $vars[] = "photos"; return $vars; } /** * From http://codex.wordpress.org/Template_Hierarchy * * Adds a custom template to the query queue. */ function project_attachments_template($templates = ""){ global $wp_query; // If the 'photos' endpoint isn't appended to the URL, // don't do anything and return if(!isset( $wp_query->query['photos'] )) return $templates; // .. otherwise, go ahead and add the 'photos.php' template // instead of 'single-{$type}.php'. if(!is_array($templates) && !empty($templates)) { $templates = locate_template(array("photos.php", $templates),false); } elseif(empty($templates)) { $templates = locate_template("photos.php",false); } else { $new_template = locate_template(array("photos.php")); if(!empty($new_template)) array_unshift($templates,$new_template); } return $templates; } 

Обязательно посетите страницу Permalink в wp-admin, чтобы изменения вступили в силу.