私は自分の問題を解決するためにこのサイトをたくさん使ってきましたが、今回は問題の発見と回答に成功しませんでした。
wp_update_post
呼び出される関数内で使用すると、無限ループが発生しsave_post
ます。これはよくある問題ですが、どうすれば回避できるかわかりません。
投稿の順序を保存したい(投稿タイプの「セクション」)。だから私はいくつかのソート可能なhtml要素を含むカスタムメタボックスを作りました。各要素には、name = 'sectionorder []'の非表示の入力タグがあります。したがって、標準のWordPressの「更新」ボタンをクリックすると、投稿のすべてのIDを(順番に)含む配列がPOST経由で送信されます。だからここに私が配列を取得し、順序を保存したいコードがあります:
// Update section sort order
$sectionorder = $_POST['sectionorder'];
if (isset($sectionorder)) { // Avoid error if there is no sections added yet
foreach( $sectionorder as $no => $sectionID ) {
$post_update = array();
$post_update['ID'] = $sectionID;
$post_update['menu_order'] = $no;
wp_update_post( $post_update );
}
}
しかし問題は、それが無限ループを開始することです。どうすればそれを回避できますか?多分私はそれを完全に異なる方法で行うことができますか?
あなたの助けを正当化してください!