Intereting Posts
Очистить ссылки в: the_author_meta ('description') Интеграция дерева вариантов пользовательского CSS Пользовательская таксономия в раскрывающемся списке на adinside wordpress Ошибка при попытке импортировать одну категорию на странице Устанавливать термины по срокам Пользовательские типы сообщений странная проблема с разбивкой по страницам Детская тема над правилами записи Новое меню Customizer (WP 4.3) – как называется? Ошибка 403 для отправки на странице параметров плагина Возможно ли создать плагин Custom Post? Разбиение страниц на пользовательские налоговые страницы удаляет пробелы из запросов Что может заставить WordPress вернуть неверную постоянную ссылку для данного идентификатора? Пользовательский редактор коротких сообщений [BackboneJS & TinyMCE) WP-CLI не может перекомпилировать переменные PHP / среды PHP на Ubuntu Как я могу отлаживать подключение к базе данных для модульного тестирования?

Являются ли все идентификаторы уникальными?

Я использую JSON api plugin, чтобы извлекать данные из WordPress в приложение, которое я делаю. Мне нужен уникальный идентификатор, чтобы убедиться, что у меня нет дубликатов. WHILE также использует идентификатор как способ сортировки с самого последнего сообщения на старое сообщение. На данный момент я смущен, потому что я вывожу 10 последних сообщений. Затем я беру идентификатор, и я пытаюсь достичь example.com/?id=1774, но я не получаю правильную запись. Я получаю другой. У меня заканчиваются идеи?

Если вы посмотрите на описание разных таблиц, используемых WordPress , столбцы, описанные как «auto_increment», будут уникальными.

Я не уверен, что вы делаете. Структура URL, которую вы используете, не является той, которую я распознаю. То есть, синтаксис, который, я думаю, вы хотите, таков:

example.com/?p=1774 

а не это:

 example.com/?id=1774 

?p= + действительный идентификатор должен всегда давать вам сообщение с ссылочным идентификационным номером.

Да и нет.

  1. В пределах имени блога / сайта уникальны. Если они не были подделаны (путем изменения AUTO_INCREMENT базы данных или повторного использования старого id , что было бы плохой ход).

  2. В многосетевой сети WordPress id не уникальны. Сообщение в блоге на одном сайте может иметь тот же идентификатор, что и сообщение в блоге на другом сайте. Вероятно, поскольку каждый сайт имеет отдельную базу данных / таблицу. (Это случилось со мной.)

  3. Для сторонних приложений (например, приложения, которое вы делаете) вы не должны использовать id как глобально уникальный идентификатор для сообщения в блоге, поскольку, если вы извлекаете данные из разных сайтов / блогов, , может иметь один и тот же id (по той же причине, что и в пункте 2 выше). И вы можете получить неправильный пост в блоге при выполнении запроса в своей собственной базе данных.

Вместо этого: используйте $post->guid (guid означает глобальный уникальный идентификатор и инструмент WordPress для этой цели) и никогда не изменяйте его, даже если изменяется URL-адрес или доменное имя блога (это просто идентификатор, поэтому он не обязательно должен совпадать с URL-адресом). NB: guid должен быть в нижних окнах, чтобы он работал.

С помощью guid вы не сможете «использовать идентификатор в качестве способа сортировки от новейшего сообщения до самого старого сообщения». , но вы можете передать дату client_db_published_at и использовать это вместо этого (в любом случае это более надежный и подробный):

 // When you already have the $post in question "blog_post[client_db_published_at]" => = get_the_time('c', $post->ID); // c = ISO 8601 = 2004-02-12T15:19:21+00:00 . T is just a whitespace separator here. Ref: http://codex.wordpress.org/Formatting_Date_and_Time#Examples