thecosmonaut
  • 0
Новичок

Как предотвратить дублирование сообщений с помощью wp_insert_post на single.Php?

  • 0

У меня появляется действительно странная ошибка (WP 3.1.3). Моя цель состоит в том, чтобы пользователи создавали новый пост, просто переходя на один пост. Чтобы это произошло, у меня есть следующий код в файле single.php:

    <?php
    //-- Set up post values
    $myPost = array(
        'post_status' => 'publish',
        'post_type' => 'post',
        'post_author' => 2,
        'post_title' => 'e3i8ir',
        'comment_status' => 'closed',
        'ping_status' => 'closed',
        'post_category' => array(24),
    );

    //-- Create the new post
    $newPostID = wp_insert_post($myPost);

    ?>

По всем правилам, это должно просто вставить одну запись, верно? Однако, когда я использую эту функцию, она создает ДВА совершенно одинаковых поста.

Глядя на страницу, the_content отображается только один раз, поэтому страница не отображается несколько раз (и, следовательно, вызывает два вызова wp_insert_post).

У кого-нибудь есть идеи, что может вызвать это?

Заранее спасибо, —eric

Share
  1. попробуйте поместить свой скрипт в функцию и запустить его во время хука действия. возможно, хук wp_footer.

    • 0
  2. Укажите уникальный идентификатор в начале темы. Это будет строка идентификации в пользовательском поле для вновь созданного поста.

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

    Здесь вы можете найти примеры того, как запрашивать сообщения по произвольным полям.

    • 0
  3. грязное исправление может быть связано с тем, что поле сообщения помечено как уникальное в базе данных — если первая вставка будет успешной, вторая завершится ошибкой

    это грязное исправление, пока вы не найдете более подходящее решение

    • 0

Оставить ответ

You must login to add an answer.