Estoy tratando de agregar variables en lugar de ID de campo personalizados en mi archivo metaboxes usando este guion
Agregué algunas opciones en el marco redux para dar la posibilidad de cambiar los campos personalizados.
<?php
/*global from framework*/
global $redux;
/*custom fields options retrieved from redux framework*/
$custom_videourl = $redux['mytheme_videourl'];
$custom_duration = $redux['mytheme_duration'];
$custom_description = $redux['mytheme_desc'];
$fields = array(
array(
'label' => __( 'MP4/FLV & Youtube Url', 'framework' ),
'desc' => __( 'Here you can add videos with mp4 format', 'framework' ),
'id' => $custom_videourl,
'type' => 'text'
),
array(
'label' => __( 'Video Duration', 'framework' ),
'desc' => __( 'Example: 5:20', 'framework' ),
'id' => $custom_duration,
'type' => 'text'
),
array(
'label' => __( 'Video Description', 'framework' ),
'id' => $custom_description,
'desc' => __( 'Here you can write a description', 'framework' ),
'type' => 'editor'
)
);
$my_metaboxes = new custom_add_meta_box( 'mytheme_metaboxes', __( 'Video - Additional Information', 'framework' ), $fields, 'post', true );
Pero con el ejemplo anterior obtuve Aviso: conversión de matriz a cadena en /var/www/html/mytheme/wp-includes/formatting.php en la línea 1025
Entonces, si agrego el campo personalizado sin metaboxes variables, funcionan bien como el siguiente contenido:
$fields = array(
array(
'label' => __( 'MP4/FLV & Youtube Url', 'framework' ),
'desc' => __( 'Here you can add videos with mp4 format', 'framework' ),
'id' => 'mytheme_videourl',
'type' => 'text'
),
array(
'label' => __( 'Video Duration', 'framework' ),
'desc' => __( 'Example: 5:20', 'framework' ),
'id' => 'mytheme_duration',
'type' => 'text'
),
array(
'label' => __( 'Video Description', 'framework' ),
'id' => 'mytheme_desc',
'desc' => __( 'Here you can write a description', 'framework' ),
'type' => 'editor'
)
);
$my_metaboxes = new custom_add_meta_box( 'mytheme_metaboxes', __( 'Video - Additional Information', 'framework' ), $fields, 'post', true );
He intentado usar print_r pero los metaboxes no guardan más que. ¿Hay alguna manera de hacer que el primer código funcione? ¿Utiliza variables en lugar de ID de campo personalizados?
Parece muy probable que una de sus variables redux contenga una matriz en lugar de una cadena. Sabiendo eso, solo necesita averiguar cuál es y averiguar dónde está el dato real que está buscando.
Una forma de depurar esto es hacer una conversión explícita de las tres variables redux a cadenas. (p.ej 'id' => implode("***", $custom_videourl)
). Luego, una vez que haya descubierto cuál (o más de uno) es una matriz, probablemente sabrá cómo acceder a los datos que realmente desea.
Si eso no es suficiente para usted, sugeriría agregar esto a su archivo wp-config.php: define( 'WP_DEBUG_LOG', true )
;
Esto creará un registro de depuración para usted. A continuación, puede cerrar la sesión (por ejemplo, error_log( print_r( $custom_videourl )
); Creo que generalmente almacena el archivo debug.log en la carpeta wp-content.
-
Déjame explicarte mejor, los códigos en mi pregunta están usando este github.com/bainternet/Mi-Meta-Box y estoy llamando a las variables redux en este script de metaboxes, pero las variables redux son solo campos de texto en el marco redux
– usuario5247236
19 de abril de 2017 a las 16:20
-
La variable redux funciona bien cuando elimino el script de brainternet (como en mi segundo código) y lo llamo con el comando get post meta
get_post_meta($post->ID, $custom_videourl, true);
el problema está solo en los campos de metaboxes. Siempre estoy trabajando con la depuración, sin embargo, voy a echar un vistazo a tu explicación usando la implosión.– usuario5247236
19 de abril de 2017 a las 16:23
-
@Gazi ¿Cómo funcionó? Me interesa saber de donde viene el error.
– vlasits
20 de abril de 2017 a las 19:49
-
Resolví con otro método porque no es posible usarlo como en mi pregunta. Acabo de usar mi segundo código y creé un campo personalizado uno de redux y otro de metabox. No sé cómo explicarlo, pero no fue posible tener una respuesta. mi pregunta es imposible
– usuario5247236
21 de abril de 2017 a las 16:39
-
Lamento extenderme en esto, pero lo hago por si alguien más tiene un problema similar. ¿Está diciendo que no pudo saber si una de sus variables inesperadamente tenía una matriz o no?
– vlasits
21 de abril de 2017 a las 16:47
¿Cuál es el contenido de, por ejemplo.
$redux['mytheme_videourl'];
? El Aviso dice que es una matriz, pero solo desea tener un elemento en particular.– Eknoes
18 de abril de 2017 a las 15:11
$redux['mytheme_videourl'];
es una opción de redux framework, es solo un campo en mi panel de configuración de redux / tema. Quiero dar la posibilidad de hacer que los campos personalizados se puedan cambiar, como puede ver. Estoy llamando global $ redux desde la base de datos, pero solo quiero usar estas variables en mi archivo de metaboxes. El archivo .Metaboxes está creando las opciones de campo personalizadas debajo del editor de publicaciones y el aviso también está debajo del editor de publicaciones.– usuario5247236
18 de abril de 2017 a las 15:13
Sí, lo sé, pero
$redux['mytheme_videourl'];
es una matriz, no una cadena. puedes hacer unprint_r($redux['mytheme_videourl'])
en algún lugar, donde se puede ver su contenido? Oprint_r($redux['mytheme_videourl'], true)
como descripción o similar, para que puedas ver su contenido?– Eknoes
18 de abril de 2017 a las 15:15
Sí, lo intenté con print_r pero el valor del campo personalizado desaparece cuando lo hago.
– usuario5247236
18 de abril de 2017 a las 15:22
voy a hacer un nuevo intento
– usuario5247236
18 de abril de 2017 a las 15:23