Un usuario preguntó 👇
Saludos. Estoy chocando contra una pared con esto. Tengo un plugin de presentación de diapositivas, «Metaslider» instalado en mi tema hijo. La presentación de diapositivas tiene un acceso directo instalado, pero el desarrollador también proporciona código PHP si la presentación de diapositivas debe instalarse en otro lugar que no sea el editor de video:
<?php echo do_shortcode('[metaslider id="4170"]'); ?>
Quiero colocar este código dentro del div «marca del sitio», encima del título H3 «descripción del sitio». A continuación se muestra lo que tengo en el archivo functions.php del tema de mi hijo para el encabezado:
if ( ! function_exists( 'generate_header_items' ) ) :
function generate_header_items()
{
// Site logo
generate_construct_logo();
// Site title and tagline
generate_construct_site_title();
// Header widget
generate_construct_header_widget();
}
endif;
// generate_construct_logo function code
if ( ! function_exists( 'generate_construct_site_title' ) ) :
/**
* Build the site title and tagline
*
* @since 1.3.28
*/
function generate_construct_site_title()
{
$generate_settings = wp_parse_args(
get_option( 'generate_settings', array() ),
generate_get_defaults()
);
// Get the title and tagline
$title = get_bloginfo( 'title' );
$tagline = get_bloginfo( 'description' );
// If the disable title checkbox is checked, or the title field is empty, return true
$disable_title = ( '1' == $generate_settings[ 'hide_title' ] || '' == $title ) ? true : false;
// If the disable tagline checkbox is checked, or the tagline field is empty, return true
$disable_tagline = ( '1' == $generate_settings[ 'hide_tagline' ] || '' == $tagline ) ? true : false;
// Build our site title
$site_title = apply_filters( 'generate_site_title_output', sprintf(
'<%1$s class="main-title" itemprop="headline">
<a href="%2$s" rel="home">
%3$s
</a>
</%1$s>',
( is_front_page() && is_home() ) ? 'h1' : 'p',
esc_url( apply_filters( 'generate_site_title_href', home_url( '/' ) ) ),
get_bloginfo( 'name' )
));
// Build our tagline
$site_tagline = apply_filters( 'generate_site_description_output', sprintf(
'<h3 class="site-description"><span>%1$s</span></h3>',
html_entity_decode( get_bloginfo( 'description', 'display' ) )
));
// Site title and tagline
if ( false == $disable_title || false == $disable_tagline ) {
echo apply_filters( 'generate_site_branding_output', sprintf(
'<div class="site-branding">
%1$s
%2$s
</div>',
( ! $disable_title ) ? $site_title : '',
( ! $disable_tagline ) ? $site_tagline : ''
) );
}
}
endif;
¿Cuál es la mejor manera de agregar mi presentación de diapositivas?
(@leohsiang)
Hace 1 año, 9 meses
Hola,
¿Dónde le gustaría mostrar la diapositiva?
¿Entre el encabezado del sitio y la navegación principal?
Avísame 🙂
(@ Figura 2)
Hace 1 año, 9 meses
Gracias a Leo, la presentación de diapositivas debe estar dentro del div con la clase «marca del sitio», encima del título de descripción .3-H3, que también está dentro de la marca .site.
El div .site-branding se encuentra entre el logotipo y el widget de encabezado. He movido cosas y reconfigurado en mi tema infantil.
Es decir, en cuanto agregue el SEC necesario:
Autor del tema
(@ borde22)
Hace 1 año, 9 meses
Hola,
Prueba esta función:
add_filter( 'generate_site_description_output', function( $output ) {
echo do_shortcode('[metaslider id="4170"]');
echo $output;
} );
Avísame 🙂
(@ Figura 2)
Hace 1 año, 9 meses
Gracias Tom, no estoy seguro de dónde poner esto, pero esto es lo que hice:
`// Crea nuestro lema add_filter (‘gene_site_description_output’, function ($ output) {echo your_shortcode (‘[metaslider id=”4170″]’); echo $ salida; });
$ site_tagline = apply_filters (‘gene_site_description_output’, sprintf (‘
% 1 $ s
‘, html_entity_decode (get_bloginfo (‘ descripción ‘,’ pantalla ‘)))); ‘
Aquí está el resultado:
La presentación de diapositivas realmente aparece, pero él y el titular .3 sacaron una descripción H3 de la marca .site ahora vacía debajo de ambas características.
Autor del tema
(@ borde22)
Hace 1 año, 9 meses
Lo siento por eso. Intente agregar mi función usando uno de estos métodos: https://docs.generatepress.com/article/adding-php/
(@ Figura 2)
Hace 1 año, 9 meses
Gracias Tom, el código que ya estaba publicando está en el archivo functions.php de mi tema hijo. ¿Debería agregarlo como un plugin a este código?
(@ Figura 2)
Hace 1 año, 9 meses
Aquí está el archivo de funciones del tema de mi hijo si desea verlo: https://www.markhannondesign.com/clientJobs/functions.zip
Autor del tema
(@ borde22)
Hace 1 año, 9 meses
Hola,
Todo el archivo functions.php debería verse así:
<?php
add_filter( 'generate_site_description_output', function( $output ) {
echo do_shortcode('[metaslider id="4170"]');
echo $output;
} );
Avísame 🙂
(@ Figura 2)
Hace 1 año, 9 meses
Gracias Tom. Se ve diferente, pero la presentación de diapositivas H3 y la descripción del sitio aún no están incrustadas en el div .s-branding.
Archivo de funciones actualizado: https://www.markhannondesign.com/clientJobs/functions_v2.zip
Autor del tema
(@ borde22)
Hace 1 año, 9 meses
Hmm, ¿puedes probar esto en su lugar?:
add_filter( 'generate_site_description_output', function( $output ) {
ob_start();
echo do_shortcode('[metaslider id="4170"]');
echo $output;
return ob_get_clean();
} );
(@ Figura 2)
Hace 1 año, 9 meses
Eso hizo el truco de Tom. Gracias.
Autor del tema
(@ borde22)
Hace 1 año, 9 meses
De nada 🙂
¿Solucionó tu problema??
0 / 0