0

新しい投稿が保存されたときに、新しい bbPress フォーラムを作成しようとしています...このコードを作成しましたが、得られるのは無限ループだけです。奇妙なことに、投稿を保存したときではなく、最初に「すべての投稿」または「新しい投稿」に移動したときにループが開始されます。何が問題ですか?

これがコードです

<?php

add_action('save_post', 'register_ForumCustom');

function register_ForumCustom($post_id){

    $post = get_post($post_id);
    // Create post object
    $my_new_post = array(
      'post_title'    => 'Forum di'.$post->post_title,
      'post_content'  => '',
      'post_status'   => 'publish',
      'post_author'   => 1,
      'post_type' => 'forum'
    );

    // Insert the post into the database
    $new_forum_id = wp_insert_post( $my_new_post );

    //OK, maybe is here that the loop starts, but i know that the problem is because there is another "save_post". I can solve this, but i don't understand the other problem!

    update_post_meta($post_id, "forum_id", $new_forum_id);

}

?>
4

1 に答える 1

0

アクションで無限ループを作成しました。

アクションのフックを解除し、完了したら再度フックする必要があります。

// unhook
remove_action('save_post', 'register_ForumCustom');

// do updates/inserts

// re-hook
add_action('save_post', 'register_ForumCustom');

参照: http://codex.wordpress.org/Plugin_API/Action_Reference/save_post#Avoiding_infinite_loops

于 2013-05-18T21:50:33.557 に答える