Eu tenho usado muito este site para resolver meus problemas, mas desta vez não consegui encontrar e responder ao meu problema.
Eu recebo um loop infinito ao usar wp_update_post
dentro de uma função que é chamada save_post
. Sei que esse é um problema comum, mas não consigo descobrir como evitá-lo.
Quero salvar a ordem das minhas postagens (que é do tipo 'seção'). Então, eu criei uma meta box personalizada que contém alguns elementos html classificáveis. Em cada elemento, há uma tag de entrada oculta com name = 'sectionorder []'. Então, quando clico no botão 'Atualizar' padrão do WordPress, uma matriz contendo todos os IDs das postagens (em ordem) é enviada via POST. Então, aqui está o código em que recupero a matriz e quero salvar o pedido:
// 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 );
}
}
Mas o problema é que ele inicia um loop infinito. Como evito isso? Talvez eu possa fazer isso de uma maneira completamente diferente?
Aprecie sua ajuda!