我试图保存元数据输入,但它似乎无法正常工作。我正在使用数组(因为我需要我的元数据库有60行),所以我认为问题在于它们。
这是管理员的元数据功能(它可以正常显示我想要显示的信息):
function mock_metabox() {
global $post;
// Nonce field
wp_nonce_field( basename( __FILE__ ), 'mock_fields' );
// init counter for meta array
$contadorglobal = 1;
$selecciones = array();
$equipos = array();
$equiposog = array();
while ( $contadorglobal <= 60 ){
$selecciones[$contadorglobal-1] = get_post_meta( $post->ID, '_seleccion_' . $contadorglobal, true );
$equipos[$contadorglobal-1] = get_post_meta( $post->ID, '_equipo_' . $contadorglobal, true );
$equiposog[$contadorglobal-1] = get_post_meta( $post->ID, '_equipoog_' . $contadorglobal, true );
$contadorglobal++;
}
// Output the fields
?>
<h3> Informacion del Mock </h3>
<table>
<tr>
<th> # </th>
<th> Jugador </th>
<th> Equipo </th>
<th> Equipo Original </th>
</tr>
<?
$contador = 1;
$teams = get_posts( array(
'post_type' => 'team',
'orderby' => 'title',
'order' => 'ASC',
'numberposts' => -1,
'post_status' => 'publish'
) );
while ( $contador <= 60 ){
?>
<tr>
<td><?php echo $contador ?></td>
<td><input type="text" name="<? 'jugador_' . $contador ?>" value="<?php echo $selecciones[$contador-1] ; ?>" />
<td><select name="<? 'equipo_' . $contador?>" ><?
foreach ( $teams as $team ) { ?>
<option value="<?php echo $team->ID; ?>" <?php checked( $equipos[$contador-1], $team->ID ); ?> > <?php echo $team->post_title; ?> </option> <? } ?> </select> </td>
<td><select name="<? 'equipoog_' . $contador ?>" ><?
foreach ( $teams as $team ) { ?>
<option value="<?php echo $team->ID; ?>" <?php checked( $equiposog[$contador-1], $team->ID ); ?> > <?php echo $team->post_title; ?> </option> <? } ?> </select> </td>
<? $contador++; ?>
</tr>
<?php } ?>
</table>
<?}
这是保存功能(我认为问题是暂时的,但我尝试删除它,它也没有保存任何信息)。
function mock_save_meta_box_data( $post_id ){
// verify taxonomies meta box nonce
if ( !isset( $_POST['mock_fields'] ) || !wp_verify_nonce( $_POST['mock_fields'], basename( __FILE__ ) ) ){
return;
}
// return if autosave
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){
return;
}
// Check the user's permissions.
if ( ! current_user_can( 'edit_post', $post_id ) ){
return;
}
// guarda tipo traspaso
for ($contadorid = 1; $contadorid <= 60; $contadorid++) {
if ( isset( $_REQUEST['jugador_' . $contadorid] ) ) {
update_post_meta( $post_id, '_seleccion_' . $contadorid, $_POST['jugador_' . $contadorid] );
}
if ( isset( $_REQUEST['equipo_' . $contadorid] ) ) {
update_post_meta( $post_id, '_equipo_' . $contadorid, $_POST['equipo_' . $contadorid] );
}
if ( isset( $_REQUEST['equipoog_' . $contadorid] ) ) {
update_post_meta( $post_id, '_equipoog_' . $contadorid, $_POST['equipoog_' . $contadorid] );
}
}
}
add_action( 'save_post_mock', 'mock_save_meta_box_data' );
有什么想法吗?提前谢谢!