Intereting Posts
Shortcode отображает только значения атрибута по умолчанию Исключить сообщения из виджета Приведение кнопки «добавить в корзину» перенаправление на PayPal Каков наилучший способ управления содержанием страниц? Как показать сообщение gloabl на странице профиля пользователя (в конце)? После клонирования моей базы данных WordPress на другой сервер я не могу войти в систему Скелетная дочерняя тема Добавить значок «Бар» в сетку Flex Grid медиа-библиотека, не показывающая миниатюры после удаления полного изображения Как включить термин «обычная мета» в структуру пользовательской таксономии «постоянная ссылка» Манипулирование изображениями внутри содержимого сообщения Использование оболочки PHP Api в плагине. Wrapper использует пространство имен Как отключить plupload полностью из последнего wordpress 3.6 и сделать загрузку браузера по умолчанию Лучший способ получить статистику Запрос wp_postmeta в массив на основе post_id Разбивка страницы не работает

Как вы используете WP slugs для файлов PDF / мультимедиа?

У меня есть сотни PDF-файлов, которые связаны на моем сайте, и эти PDF-файлы имеют уникальный номер документа и его версии. например, 902367 версия I

То, что я хотел бы сделать, это иметь определенный пул для каждого документа, например mysite.com/902367/, который будет ссылаться непосредственно на документ. Перенаправления – это один из способов добиться этого, но даже с REGEX это будет неряшливо и менее идеально.

Я нашел еще один вопрос, объясняющий, что если ваша тема имеет файл вложений, то любые вложения, загруженные на эту страницу, попадают под одну и ту же категорию. Однако это не относится к моей ситуации, поскольку я не пытаюсь назначать PDF-файлы категории или странице, а, по сути, сделать их самой страницей. Создает ли псевдо-страницу для документа самый чистый способ выполнить это?

Что было бы самым красноречивым способом применения функциональности WordPress slug для моих PDF-файлов?

Solutions Collecting From Web of "Как вы используете WP slugs для файлов PDF / мультимедиа?"

На мой взгляд, лучше всего добавить конечную точку формы mysite.com/pdf/<id> или что-то подобное вашему. Таким образом, вы избегаете прикреплять вложения к сообщениям / страницам или создавать страницу для каждого файла pdf с избыточным imo для своих нужд.

Это очень маленькое и основное руководство. Вы можете изменить ваши потребности.

Прежде всего добавим конечную точку, соответствующую всем запросам формы mysite.com/pdf/<id> . Обратите внимание, что вы должны очистить правила перезаписи для новой конечной точки, которая будет работать. Вы можете сделать это вручную, перейдя в Настройки-> Permalinks-> Save Changes или используя flush_rewrite_rules . Он должен быть выполнен либо на крюке shutdown , либо на активации плагина / темы (де). Выполнение этого на крючке init – это плохая практика.

 function my_endpoints() { add_rewrite_endpoint( 'pdf', EP_ROOT); } add_action( 'init', 'my_endpoints' ); 

Затем мы используем template_redirect для обработки запроса.

 function my_template_redirect() { global $wp_query; /* If it is a /pdf/<id> request then serve the file */ if(isset( $wp_query->query_vars['pdf'])){ // You can use sanitize_file_name also $pdf_id = intval($wp_query->query_vars['pdf']); /* Find the file and serve it */ } return; } add_action( 'template_redirect', 'my_template_redirect' );