Intereting Posts
Лучший способ flush_rewrite_rules для пользовательского типа сообщений в плагине mu-plugins? Как WordPress помнит позиции Metabox? Структура файла WordPress Невозможно активировать пользователя при многопользовательской установке Включить форму комментариев на странице плагина. localhost на iPhone не загружает изображения Виджет поиска будет искать все на сайте, как ограничить только имя галереи поиска Изменение заголовков меню заголовка страницы Проблема с выдачей короткого кода Пользовательский плагин: попытка отображения сохраненных данных во внешнем интерфейсе Показать шаблоны в редакторе пользовательских сообщений Добавить пользовательский атрибут изображения Не дублируйте сообщения с несколькими категориями в нескольких циклах Это не работает для плагина get_template_directory_uri () Запрос на изменение персонализированного типа сообщения с определенной категорией

Программирование страницы с использованием $ wpdb и получение ошибки 404

EDIT: Оказывается, у меня была проблема с permalink, которая вызывала ошибку 404.

Оригинальная проводка ниже:

Я создаю страницу программно, используя $ wpdb-> insert (), и результирующая страница возвращает ошибку 404.

Несколько замечаний

  • Я использую объект $ wpdb для создания страницы, потому что я создаю его на отдельном веб-сайте WordPress, поэтому wp_insert_post () не работает, потому что он будет вставлять сообщение на веб-сайт, на котором я звоню. В основном у меня есть сеть веб-сайтов, и я создаю сообщение на одном сайте с другого сайта.
  • Я создаю собственное значение post_name (slug) для страницы.

Поэтому, когда я добавляю страницу программно, все в базе данных выглядит так, как если бы она была добавлена ​​через область администрирования WordPress. Я даже могу зайти в область администрирования WordPress этого сайта и отредактировать сообщение. Однако, если я перейду к просмотру страницы, она выбрасывает 404. Теперь, если я «обновляю» сообщение из области администрирования WordPress, 404 уходит.

Если я создаю сообщение программно и создаю его из области администрирования WordPress, а затем просмотрю столбцы базы данных, они будут ТОЧНЫМИ одинаковыми значениями (или, похоже, будут). Зачем работать, а кто-то не будет? Также я использую permalinks ( ничего нестандартно, только один из этих предопределенных вариантов ).

Это вызов wpdb insert, который я использую …

$post = array( 'post_author' => 1, 'post_date' => date('Ymd H:i:s'), 'post_date_gmt' => date('Ymd H:i:s'), 'post_content' => '', 'post_title' => 'My Page', 'post_name' => 'my-page', 'post_excerpt' => '', 'post_status' => 'publish', 'comment_status' => 'open', 'ping_status' => 'open', 'post_modified' => date('Ymd H:i:s'), 'post_modified_gmt' => date('Ymd H:i:s'), 'post_parent' => 0, 'post_type' => 'page', 'comment_count' => 0 ); $wpdb->insert( 'wp_posts', $post, array( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ); ); 

Ошибка Permalink

Я думал, что использую базовую ссылку, но забыл, что я использовал пользовательскую структуру постоянной ссылки на этом конкретном веб-сайте.

Пользовательская постоянная ссылка, которую я использовал, была %postname% .

Я переключил его на месяц и имя, и теперь все работает. Извините за фиктивный вопрос.