¿Cómo agregar código a Header.php en un tema secundario?

9

Estoy creando un tema secundario por primera vez y tuve algunas preguntas sobre el código agregado al encabezado.

En un tema no secundario hay cierto código que agrego a mi archivo header.php, como Google Analytics, Google Webmaster Tools, comprar anuncios, Facebook Open Graph, etc. ...

¿Cómo haces esto en un tema infantil? ¿Creas un archivo header.php en tu tema hijo? ¿Si es así, cómo se hace? ¿Es lo mismo que el @import que usé en el css?

Gracias.

    
pregunta Rick Smith 27.02.2012 - 16:40

3 respuestas

15

Me engancharía en la acción wp_head . Colocaré esto en un complemento para abstraerlo de la capa de presentación. Esto permite la escalabilidad y el cambio de temas. Esto también evita cualquier daño colateral analítico si se omite un paso en la migración de un tema a otro.

add_action('wp_head', 'wpse_43672_wp_head');
function wpse_43672_wp_head(){
    //Close PHP tags 
    ?>
    ADD YOUR PLAIN HTML CODE HERE
    <?php //Open PHP tags
}
    
respondido por el Brian Fegter 27.02.2012 - 16:47
4

Para modificar el encabezado en un tema secundario, copie header.php del tema principal en el tema secundario y luego modifíquelo. WordPress verá que tiene un header.php en su tema secundario y lo usará en lugar del header.php del tema principal

Cualquier archivo de plantilla que coloques en tu tema secundario tendrá prioridad sobre el mismo archivo en el tema principal cuando sea llamado por WordPress.

Cualquier cosa que vaya en la etiqueta se debe hacer usando algo como la función en la respuesta de Brians. Si se trata de un tema específico, puede ponerlo en un archivo llamado functions.php en su carpeta de temas sin ningún paso adicional.

    
respondido por el Tom J Nowell 27.02.2012 - 17:36
2

Gracias a Brian Fegter . Si esta respuesta es de ayuda, valora la respuesta de Brian aquí arriba.

Este es un ejemplo completamente funcional de cómo agregar elementos al "encabezado" mediante su propio complemento. En este caso, estoy agregando las propiedades de Facebook Open Graph para los botones Compartir y Me gusta.

Simplemente cree un archivo PHP con el nombre especificado en "Script de Complementos" al comienzo del código de muestra, colóquelo en una carpeta con el mismo nombre sin la extensión, obviamente, y copie esta carpeta en el destino "/ wp -contenido / complementos ".

Luego, dentro de "Wordpress", actualiza "Complementos" y verás tu nuevo complemento instalado. Simplemente actívelo y sus páginas comenzarán a contener los metadatos de Open Graph Facebook y Twitter.

MUYIMPORTANTE:ElarchivoPHPdebeestarcodificadoenUTF-8sinBOM,ynodebetenerabsolutamenteningúncarácteralfinal.Debeaseguraresto.

<?php/*PluginName:MyFacebookOpenGraphProtocolPluginScript:my-facebook-open-graph-protocol.phpPluginURI:Description:AddFacebookOpenGraphProtocoltoheaderAuthor:DiegoSoto(ThankstoBrianFegter)DonateLink:License:GPLVersion:0.1-alphaAuthorURI:https://wordpress.stackexchange.com/questions/43672/how-to-add-code-to-header-php-in-a-child-themeTextDomain:myfogpDomainPath:languages/*//*Copyright2014DiegoSoto(http://disientoconusted.blogspot.com.ar/)Thisprogramisfreesoftware;youcanredistributeitand/ormodifyitunderthetermsoftheGNUGeneralPublicLicense,version2,aspublishedbytheFreeSoftwareFoundation.Thisprogramisdistributedinthehopethatitwillbeuseful,butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyofMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNUGeneralPublicLicenseformoredetails.YoushouldhavereceivedacopyoftheGNUGeneralPublicLicensealongwiththisprogram;ifnot,writetotheFreeSoftwareFoundation,Inc.,51FranklinSt,FifthFloor,Boston,MA02110-1301USA*/add_action('wp_head','wpse_43672_wp_head');functionwpse_43672_wp_head(){$title=get_the_title()." &lsaquo; ". get_bloginfo( "name", "display" );

    $src = wp_get_attachment_image_src( get_post_thumbnail_id(get_the_ID()), array( 90,55 ), false, "" ); 

    $face_metad = get_post_meta(get_the_ID(), "metadescription", true);

    $twitter_metad = get_post_meta(get_the_ID(), "metadescription140", true);
    if (empty($twitter_metad)) 
        $twitter_metad = $face_metad;

    //Close PHP tags 
    ?>    
    <meta property="og:title" content="<?php echo esc_attr($title); ?>" />
    <meta property="og:image" content="<?php echo esc_attr($src[0]); ?>" />
    <meta property="og:url" content="<?php the_permalink(); ?>" />
    <meta property="og:description" content="<?php if (!empty($face_metad)) echo esc_attr($face_metad); else the_excerpt(); ?>" />

    <meta name="twitter:title" content="<?php echo esc_attr($title); ?>" />
    <meta name="twitter:image" content="<?php echo esc_attr($src[0]); ?>" />    
    <meta name="twitter:url" content="<?php the_permalink(); ?>" />
    <meta name="twitter:description" content="<?php if (!empty($twitter_metad)) echo esc_attr($twitter_metad); else the_excerpt(); ?>" />
    <?php //Open PHP tags
}
?>

Cualquier persona que esté interesada en la funcionalidad del complemento.

  • El título será la concatenación del nombre de la página actual y el nombre del sitio.

  • Si existe un campo personalizado llamado "metadescription", el complemento intenta para tomar la descripción de este campo. De lo contrario, toma la Descripción del extracto.

  • Como la imagen, el complemento intenta utilizar la miniatura de las características imagen en la página.

respondido por el DiegoSoto 14.08.2014 - 01:12

Lea otras preguntas en las etiquetas