WordPress: cómo obtener opciones de complementos desde otra página de complementos

2 minutos de lectura

Estoy escribiendo un complemento de WordPress que tiene un widget, y ese widget muestra un enlace en la página como, por ejemplo:

<a href="https://stackoverflow.com/questions/13452463/<?php echo plugins_url("/ext_page.php', __FILE__); ?>">Link</a>

Ahora, en la página /ext_page.php, necesito obtener opciones del complemento como, por ejemplo:

$options = get_option('my_plugin_options');

Pero la función get_option parece no funcionar en esa página, ¿hay alguna otra forma de obtener las opciones?

Por favor amablemente avise, ¡Gracias!

get_option() siempre funcionará en WordPress. Asegúrate de haber escrito bien el nombre de la opción.

Puede usar un valor predeterminado (matriz vacía en este caso) en caso de que no se encuentre la opción:

$options = get_option('my_plugin_options', array() );

Ir a tu wp_options tabla y verifique si el valor para my_plugin_options existe o está establecido.

  • Muchas gracias por la respuesta, pero tal vez no describí mi problema claramente. Me refiero a que si un archivo ext_page.php se colocó en el directorio de complementos, por ejemplo, **~/wp-content/plugins/my-plugin/ext_page.php**, y uso un navegador para acceder a él como localhost/wp-content/plugins/my-plugin/ext_page.php después get_option() no está trabajando.

    – Asususuario

    19 de noviembre de 2012 a las 14:20


  • debes incluir el archivo wp-blog-header.php en cualquier archivo externo para poder utilizar las funciones de WordPress. Ese archivo está en su carpeta raíz de wordpress.

    – Rikesh

    19 de noviembre de 2012 a las 14:23

Otra consideración, tal vez la opción esté serializada en el wp_options tabla de base de datos? En ese caso, puede recuperar el valor de la siguiente manera:

$options = get_option('my_option', 'default text');
$option = $options['field_one'];

Los datos de la opción aparecen en la option_value campo. Si está serializado, se verá así:

a:1:{s:11:"field_one";s:7:"foobar";}

Para referencia: http://wordpress.org/support/topic/how-to-get-a-serialized-option

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad