Intereting Posts
Уникальный контент для страниц категории Woocommerce Относительные URL-адреса и hide / wp-content / themes / Как обеспечить, чтобы фильтр «the_content» выполнялся только для основного отображаемого содержимого? Пользовательская почтовая страница с одной страницей возвращает ошибку 404 Перевести только тему Как отобразить форму подписки после нескольких сообщений в блоге сетки Имеет is_archived () для сайтов в многопользовательском режиме с WP 4.7? Custom Post Type + 20k posts = blank / 404 внутри Admin edit.php Как правильно использовать get_pages () с 'child_of' для замены страницы на дочернюю страницу Как внести вклад в WordPress Core с использованием Tortoise SVN? pre_get_posts с WP_Query для предотвращения сообщений из определенных тегов Проверка наличия страницы по названию? Добавить тег короткого кода в виджет / боковую панель Удалите «вложение /» из URL-адресов страниц вложений Заказ изображений галереи без использования короткого кода в теме

Будет ли post_name post post всегда равняться «пути» на неиерархических пользовательских типах сообщений? (используя функцию get_page_by_path ())

Короткая:

При вводе пути в get_page_by_path () что-то вроде этого:

$post_object = get_page_by_path( 'path_of_post', OBJECT, 'my_custom_post_type' ) 

… Предполагая, что пользовательский тип сообщения не является иерархическим, существует ли какой-либо сценарий, в котором путь, введенный в функцию, не будет соответствовать пропуску почтового объекта?

(То, что я подразумеваю под slug, это $ post_object-> post_name)

=============================

Долго:

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

Пример двух вещей, которые я продолжаю: у меня есть плагин, который создает слайд-шоу, где каждое слайд-шоу представляет собой «слайдер» пользовательского типа. У меня есть плагин компоновщика компоновки, где каждый пользовательский макет является настраиваемым типом почтового типа. В этом примере два встречаются, когда в макете пользователь может назначить слайд-шоу макету.

В настоящее время у меня есть эта настройка, где в метатете post для макета пользователь может сохранить идентификатор сообщения ползунка .

Проблема с использованием почтовых идентификаторов:

В конце я хотел бы предоставить пользователям образцы XML-файлов из инструмента экспорта WordPress. Таким образом, они могли бы просто импортировать эти сообщения из разных типов сообщений вместе со всеми сообщениями метаинформации, и все будет работать вместе без меня, чтобы создать какой-либо мод для инструмента импорта / экспорта WordPress, чтобы разместить это.

Но поскольку когда вы импортируете сообщения из файла экспорта, встроенный инструмент WordPress, очевидно, должен назначать новые идентификаторы всем сообщениям, поэтому, если (например) макет имел ползунок, назначенный ему идентификатором сообщения, когда два сообщения были импортированы, идентификатор слайдера больше не будет соответствовать тому, что имеет макет .

Мой новый план:

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

Лучшая идея, которую я получил, – назначить (например) слайдер макета , ссылаясь на slug $post_object->post_name . Таким образом, на front-end сайте я могу использовать WordPress get_page_by_path(); чтобы захватить объект сообщения.

Итак, причина моего вопроса (см. Выше) заключается в том, чтобы убедиться, что я не замечаю, используя эту функцию и ссылаясь на все эти вещи своими пулями? Кроме того, может быть, есть лучший способ ссылаться на все мои пользовательские сообщения типа сообщений, кроме этого метода, который я придумал?

Solutions Collecting From Web of "Будет ли post_name post post всегда равняться «пути» на неиерархических пользовательских типах сообщений? (используя функцию get_page_by_path ())"

Я не очень хорошо знаком с модулем экспорта, поэтому то, что я предлагаю, может не соответствовать вашим потребностям, но ответ на ваш заявленный вопрос: « Будет ли post_name post post_name всегда равным 'path' на неиерархическом пользовательские типы сообщений? (используя get_page_by_path() ), «это зависит». 🙂

Более конкретно, путь типа post может быть отфильтрован с помощью крюка 'post_type_link' , поэтому он не всегда будет равен post_name но интересная get_page_by_path() не беспокоится об этом крючке. Поэтому, если сайт использует плагин, который изменяет путь пользовательского типа сообщения, используя крюк 'post_type_link' есть хорошие шансы, что они не будут синхронизироваться. Тем не менее, поскольку get_page_by_path() игнорирует крючок, он, вероятно, будет работать для ваших нужд.

Тем не менее, я бы не рекомендовал использовать page_name чтобы связать их. Я пробовал подобное в прошлом и вниз, этот путь – безумие. Для другого плагина просто слишком просто изменить page_name и сломать ассоциации. Я узнал из многих жестких ударов, что, если вы заботитесь о надежности, вы всегда должны хранить свои ассоциации (иначе говоря, внешние ключи ) с использованием идентификаторов и (почти?) Никогда не читаемых человеком строк.

Лучше использовать поле post_parent в вашем слайдере, чтобы сохранить post_id макета (но только если каждый слайдер уникален для макета) или сохранить post_id макета в wp_postmeta для слайдера с meta_key (что-то вроде) '_layout_id' , meta_value post_id макета и post_id , равный идентификатору сообщения ползунка.

Будет ли любой из этих двух подходов работать?