Quiero integrar el marco Option Tree con el tema de WordPress sin instalar y activar el complemento, entonces, ¿cómo hacerlo?
Desde la versión 2.0, el desarrollador del complemento ha incluido una serie de filtros que se pueden usar en su functions.php. Éstos incluyen Theme Mode
y los comentarios dentro del estado ot-loader.php;
* For developers: Theme mode.
*
* Run a filter and set to true to enable OptionTree theme mode.
* You must have this files parent directory inside of
* your themes root directory. As well, you must include
* a reference to this file in your themes functions.php.
* @since 2.0
*/
define( 'OT_THEME_MODE', apply_filters( 'ot_theme_mode', false ) );
Para activar el árbol de opciones en su tema en lugar de como un complemento, incluya todos los archivos del complemento en el directorio raíz del tema, es decir
/wp-content/themes/my-awesome-theme/options-tree
y en functions.php
ejecutaría este filtro y luego incluiría el archivo ot-loader.php. He mostrado esto a continuación, y también he mostrado el filtro show_pages;
add_filter( 'ot_theme_mode', '__return_true' );
add_filter( 'ot_show_pages', '__return_true' );
require_once ('option-tree/ot-loader.php');
El filtro show_pages es útil porque después de haber configurado su tema y sus opciones, entraría y lo establecería en falso para que el cliente no reciba el menú principal de administración del Árbol de opciones y, por lo tanto, no pueda comenzar a ‘retocar’ y basura. todo. Lo cambias a;
add_filter( 'ot_show_pages', '__return_false' );
-
Jajaja, RTFM. ¡Oh! Acabo de escribir todo esto y hay una sección de Modo de tema en la documentación que cubre todo esto.
– McNab
12 de diciembre de 2012 a las 11:40
Para cualquier persona que use un tema secundario y obtenga errores de “no se pudo abrir la transmisión” al usar el complemento OptionTree en el modo de tema, haga lo siguiente:
ot-loader.php, alrededor de la línea 128, cambia esto:
if ( false == OT_THEME_MODE ) {
define( 'OT_DIR', plugin_dir_path( __FILE__ ) );
define( 'OT_URL', plugin_dir_url( __FILE__ ) );
} else {
define( 'OT_DIR', trailingslashit( get_template_directory() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
define( 'OT_URL', trailingslashit( get_template_directory_uri() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
}
A esto:
if ( false == OT_THEME_MODE ) {
define( 'OT_DIR', plugin_dir_path( __FILE__ ) );
define( 'OT_URL', plugin_dir_url( __FILE__ ) );
} elseif ( is_child_theme() ) {
define( 'OT_DIR', trailingslashit( get_stylesheet_directory() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
define( 'OT_URL', trailingslashit( get_stylesheet_directory_uri() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
} else {
define( 'OT_DIR', trailingslashit( get_template_directory() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
define( 'OT_URL', trailingslashit( get_template_directory_uri() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
}
El código verifica si el tema en uso es un tema secundario ( is_child_theme() ) y establece el directorio y la URL usando get_stylesheet_directory() y get_stylesheet_directory_uri().
Espero que esto ayude a cualquier otra persona que se encuentre con este problema.
Ansif
Es realmente fácil integrar el árbol de opciones:
Visite el enlace a continuación si desea usarlo usando el mismo slug de complemento:
Usando la misma babosa de complemento
O puede integrarlo en una carpeta personalizada en su tema de WordPress:
Video guía aquí (3:44 seg):
Kishan
add_filter('ot_show_pages','__return_false');
include_once('inc/theme-options.php');
Configuración de exportación en theme-options.php
expediente.
add_filter('ot_theme_mode','__return_true');
require( trailingslashit( get_template_directory() ) . 'theme-option/ot-loader.php' );
add_filter('ot_show_new_layout','__return_false');