Wie füge ich Header.php Code in einem untergeordneten Thema hinzu?
3 Antworten
- Stimmen
-
- 2012-02-27
Ich würdemichin die Aktion
wp_head
einbinden.Ich würde diesin ein Plugineinfügen,umes von Ihrer Präsentationsebene zu abstrahieren.Diesermöglicht Skalierbarkeit und das Ändern von Themen.Dies verhindert auch Schäden an Analysesicherheiten,wennein Schrittbei der Migration voneinem Thema zumnächsten übersehen wird.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 }
I would hook into the
wp_head
action. I would place this in a plugin so as to abstract it from your presentation layer. This allows for scalability and changing of themes. This also prevents any analytics collateral damage if a step is missed in migration from one theme to the next.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 }
-
Vielen Dank.Ich habe keine Erfahrungmit dem Erstelleneines Plug-Ins. Ich habe ungefähr 5 Codeteile,dieichin den Headereinfügenmöchte.Müssteichfürjedenein Plug-Inerstellen?Thanks. I don't have any experience in making a plug in. I have about 5 pieces of code I'd like to add into the header. Would I need to make a plug in for each of them?
- 0
- 2012-02-27
- Rick Smith
-
@ RickSmith Ich habe das Plugin-Format zum obigen Beitrag hinzugefügt@RickSmith I added the plugin format to the post above
- 0
- 2012-02-27
- Brian Fegter
-
Unabhängig davon,ob Sieein übergeordnetes Thema,ein untergeordnetes Thema oderein beliebiges Thema verwenden,besteht der * richtige * Ansatz darin,diesen Codein einen Rückrufeinzufügen,derin denentsprechenden Aktions-Hookeingebundenist.Sie können diesen Codein die Datei "functions.php" des Themaseinfügen oder,nochbesser und wie Brian vorgeschlagen hat,in [ein ** ortsspezifisches Plugin **] (http://ottopress.com/2011/)einfügen.Erstelleneines Site-spezifischen Snippets-Plugins/).Whether using a Parent Theme, Child Theme, or any Theme whatsoever, the *correct* approach is to put such code in a callback, hooked into the appropriate action hook. You could put this code in the Theme's `functions.php` file, or, even better and as Brian has suggested, put it in [a **site-specific Plugin**](http://ottopress.com/2011/creating-a-site-specific-snippets-plugin/).
- 4
- 2012-02-27
- Chip Bennett
-
@ BrianFegter Vielen Dank.Die Arbeitmit PHP-/Kinderthemenistfürmichneu,daher lerneichim Laufe der Zeit. Vielen Dankfür Ihre Geduld. :) Inmeinem alten Themabin ichin den WordPress-Administratorgegangen,dannin den Editor und habe dies dem Header hinzugefügt.
Istesbesser,all das zum Plug-In hinzuzufügen? @BrianFegter Thanks so much. Working with Php / child themes is new to me, so I"m learning as I go. Thanks for your patience. :) In my old theme, I went into wordpress admin, than to the editor and added this to the header. Is the better way to add all of that to the plug in?- 0
- 2012-02-27
- Rick Smith
-
@ RickSmith Kein Problem.Deshalbgibt es dieses Forum.:) :)@RickSmith No problem. That's why this forum exists. :)
- 0
- 2012-02-27
- Brian Fegter
-
@BrianFegter Ok,also habeichgerade den obengenannten Codein dieses Plugineingefügt,und wennes versucht,aktiv zu werden,erhalteich diesen Fehler.Was denkst dumacheichfalsch?Analysefehler: Syntaxfehler,unerwartetes '<'in/home/downsynd/public_html/wpdallas.com/test/wp-content/plugins/Ricks-Code/Rick-Widget.phpin Zeile 22@BrianFegter Ok, so I just placed the above mentioned code into that plugin, and when it tries to active I get this error. What do you think I'm doing wrong? Parse error: syntax error, unexpected '<' in /home/downsynd/public_html/wpdallas.com/test/wp-content/plugins/Ricks-Code/Rick-Widget.php on line 22
- 0
- 2012-02-27
- Rick Smith
-
@ RickSmith können Sie * alle * von `Rick-Widget.php`in einem [PasteBin] (http://pastebin.com)posten und verknüpfen?@RickSmith can you post *all* of `Rick-Widget.php` into a [PasteBin](http://pastebin.com), and link it?
- 0
- 2012-02-27
- Chip Bennett
-
@ RickSmith wie Chipgepostet,sollte alles Site-spezifischein diesemeinen Pluginenthalten sein.@RickSmith like Chip posted, anything site specific should go in that one plugin.
- 0
- 2012-02-27
- Brian Fegter
-
@ BrianFegter Hiergehts.http://pastebin.com/cLLkdiDv@BrianFegter Here ya go. http://pastebin.com/cLLkdiDv
- 0
- 2012-02-27
- Rick Smith
-
@BrianFegter Dieser Pastbinist abgelaufen.Hieristeine neue.http://pastebin.com/kmmKkSDS@BrianFegter That pastbin expired. here is a new one. http://pastebin.com/kmmKkSDS
- 0
- 2012-02-27
- Rick Smith
-
@ RickSmith Siehemeine letzte Bearbeitung.Ihre PHP-Syntaxistfalsch.Siemüssen Echo verwenden oder Ihre PHP-Tags schließen,wenn Sie Roh-HTMLin einer Funktion veröffentlichenmöchten.`?> IHR HTML Php`@RickSmith See my latest edit. Your PHP syntax is wrong. You have to use echo or close out your php tags if you want to post raw HTML in a function. `?> YOUR HTML
- 0
- 2012-02-27
- Brian Fegter
@BrianFegter Danke Mann!Ich habesgeschafft!Das hatfunktioniert.Nocheine kurze Frage.Inmeinem alten Thema hatteichein Java-Skript zum Kaufen und Verkaufen,dasich dem Fußzeilenabschnitt des Themas hinzugefügt habe (mir wurdegesagt,dassich dastun soll,damitmein Thema zuerstgeladen wird.) Wäreesin Ordnung,diesen Code hier hinzuzufügen,oder sollteichihn hinzufügendie Fußzeile?)@BrianFegter Thanks man! I got it! That worked. One more quick question. In my old theme I had some buy sell java script that I added to the footer section of theme (I was told to do that so my theme loaded first.) Would it be ok to add that code here, or should I add it to the footer? )- 0
- 2012-02-27
- Rick Smith
Sie könneneinfacheine weitere Aktion undeinen Rückruffür wp_footer hinzufügenYou can just add another action and callback for wp_footer- 0
- 2012-02-27
- Brian Fegter
@BrianFegter ok,schlägst du vor,all dieses Zeugin die Fußzeile zu setzen?Wie die Google Ameise.Webmaster-Tools usw.?Ichbin mirnicht sicher,was diebeste Vorgehensweiseist.@BrianFegter ok, Do you suggest putting all of this stuff in the footer? Like the google ant. webmaster tools, etc...? Not sure what the best practice is....- 0
- 2012-02-27
- Rick Smith
@ RickSmith Dasistnichtmeine Gehaltsstufe.lol@RickSmith That's out of my pay grade. lol- 0
- 2012-02-27
- Brian Fegter
@ BrianFegter Ha,ha..thanks!:) Erstellen Sie WordPress-Sites?@BrianFegter Ha,ha..thanks! :) Do you build wordpress sites?- 0
- 2012-02-27
- Rick Smith
@BrianFegter Ok,jetzt versucheich,diesem Plug-Inein Java-Skript hinzuzufügen. Wiefügeichin Ihrem obigen Beispielein Java-Skript hinzu?@BrianFegter Ok, so now I'm trying to add some java script to that plug in. Going on your above example, how do I add java script to it?- 0
- 2012-02-27
- Rick Smith
Bittebeachten Siemeine letzte Bearbeitung.:) :)Please see my latest edit. :)- 0
- 2012-02-27
- Brian Fegter
@BrianFegter Danke,dass du dir die Zeitgenommen hast,mir dabei zu helfen.Hieristein Einfügebehälter,ichglaube,ichmacheimmernochetwasfalsch.:) http://pastebin.com/iT0bJjGE@BrianFegter Thanks for taking the time to help me with this. Here is a paste bin, I think I'm still doing something wrong. :) http://pastebin.com/iT0bJjGE- 1
- 2012-02-27
- Rick Smith
Lassen Sie uns [diese Diskussionim Chatfortsetzen] (http://chat.stackexchange.com/rooms/2630/discussion-between-brian-fegter-and-rick-smith)let us [continue this discussion in chat](http://chat.stackexchange.com/rooms/2630/discussion-between-brian-fegter-and-rick-smith)- 1
- 2012-02-27
- Brian Fegter
- 2012-02-27
Um den Headerin einem untergeordneten Thema zu ändern,kopieren Sie die Datei header.php aus dem übergeordneten Themain das untergeordnete Thema und ändern Sie sie anschließend.WordPresserkennt,dass Ihr untergeordnetes Themaeine header.phpenthält,und verwendet diese anstelle des übergeordneten Themas header.php
Alle Vorlagendateien,die Siein Ihr untergeordnetes Themaeinfügen,haben Vorrang vor derselben Dateiim übergeordneten Thema,wenn sie von WordPress aufgerufen werden.
Alles,wasin das Taggehört,solltemit etwas wie der Funktionin Brians Antwort ausgeführt werden.Wennesthemenspezifischist,können Siees ohne zusätzliche Schrittein einer Dateinamensfunctions.phpin Ihrem Themenordner ablegen.
To modify the header in a child theme, copy the header.php from the parent theme into the child theme and then modify it. WordPress will see that you have a header.php in your child theme and use that instead of the parent theme header.php
Any template files you put in your child theme will take priority over the same file in the parent theme when called by WordPress.
Anything that goes in the tag should be done using something such as the function in Brians answer. If it's theme specific, you can put it in a file called functions.php in your theme folder without any extra steps.
-
Tom,danke.Wennich also 5 verschiedene Codeausschnittein der header.phpinstallierenmuss,kannich danneinfachein Pluginerstellen und diesesinstallieren?Mussich die Datei header.phpnochin mein untergeordnetes Thema kopieren?Tom, thanks. So if I need to install 5 different snips of code in the header.php, could I just make one plugin and install that? Would I still need to copy the header.php file into my child theme?
- 0
- 2012-02-27
- Rick Smith
-
Ja,esgibt keinen Grund,5 Plugins zuerstellenYes there is no reason to make 5 plugins
- 0
- 2012-02-27
- Tom J Nowell
-
@ RickSmith Wenn Sie zueinem Plugin abstrahieren,gibt es keinen Grund,über header.php zu kopieren.:) :)@RickSmith If you are abstracting to a plugin, there's no reason to copy over header.php. :)
- 0
- 2012-02-27
- Brian Fegter
-
Das Problembei dieser Lösungist,dass Siebeim Aktualisieren des Themas die vom Autor vorgenommenen Korrekturenin header.php verpassen.The problem with this solution is that when the theme is updated, you will miss out on fixes in header.php made by the author.
- 2
- 2016-02-24
- Knocks X
-
Überschreibt WordPress diegesamte Datei oder hängtesnurneuen Inhalt an die übergeordnete Datei an?does WordPress override the whole file, or is it just appending new content to the parent file?
- 0
- 2020-05-31
- Ooker
- 2014-08-13
Vielen Dank an Brian Fegter . Wenn diese Antwort hilft,bewerten Siebitte Brians Antwort hier oben.
Diesistein vollfunktionsfähiges Beispielfür das Hinzufügen von Dingen zum "Header" überein eigenes Plugin. In diesem Fallfügeich die Eigenschaften von Facebook Open Graphfür die Schaltflächen "Teilen" und "Gefälltmir" hinzu.
Erstellen Sieeinfacheine PHP-Dateimit dem Namen "Plugin Script" am Anfang des Beispielcodes,legen Sie siein einemgleichnamigen Ordner ohne Erweiterung ab und kopieren Sie diesen Ordnerin das Ziel "/wp -inhalt/plugins ".
Aktualisieren Sie dannin "Wordpress" "Plugins" und Ihrneues Plugin wirdinstalliert. Aktivieren Sieeseinfach und Ihre Seitenenthalten die Metadaten von Open Graph Facebook und Twitter.
SEHR WICHTIG: Die PHP-Dateimussin UTF-8 ohne Stückliste codiert sein und sollte am Ende absolut kein Zeichenenthalten. Muss dies sicherstellen.
<?php /* Plugin Name: My Facebook Open Graph Protocol Plugin Script: my-facebook-open-graph-protocol.php Plugin URI: Description: Add Facebook Open Graph Protocol to header Author: Diego Soto (Thanks to Brian Fegter) Donate Link: License: GPL Version: 0.1-alpha Author URI: https://wordpress.stackexchange.com/questions/43672/how-to-add-code-to-header-php-in-a-child-theme Text Domain: myfogp Domain Path: languages/ */ /* Copyright 2014 Diego Soto (http://disientoconusted.blogspot.com.ar/) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ add_action('wp_head', 'wpse_43672_wp_head'); function wpse_43672_wp_head(){ $title = get_the_title() ." ‹ ". 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 } ?>
Jeder,der an der Funktionalität des Pluginsinteressiertist.
-
Der Titelist die Verkettung des Namens der aktuellen Seite und den Site-Namen.
-
Wennein benutzerdefiniertes Feldnamens "Metadescription" vorhandenist,versucht das Plugines um die Beschreibung aus diesem Feld zu übernehmen. Ansonstennimm die Beschreibung aus dem Auszug.
-
Als Bild versucht das Plugin,das Miniaturbild der vorgestellten zu verwenden Bild auf der Seite.
Thanks to Brian Fegter. If this answer helps, please rate for Brian's answer right here above.
This is a fully functional example of how to add things to the "header" by its own plugin. In this case, I am adding the properties of Facebook Open Graph for the Share and Like buttons.
Just create a PHP file with the name specified in "Plugin Script" at the beginning of the sample code, place it in a folder with the same name without the extension, obviously, and copy this folder to the destination "/ wp-content / plugins".
Then within "Wordpress", refresh "Plugins" and you'll see your new plugin installed. Just Activate it, and your pages will begin to contain the metadata of Open Graph Facebook and Twitter.
VERY IMPORTANT: The PHP file must be encoded in UTF-8 without BOM, and should have absolutely no character at the end. Must ensure this.
<?php /* Plugin Name: My Facebook Open Graph Protocol Plugin Script: my-facebook-open-graph-protocol.php Plugin URI: Description: Add Facebook Open Graph Protocol to header Author: Diego Soto (Thanks to Brian Fegter) Donate Link: License: GPL Version: 0.1-alpha Author URI: https://wordpress.stackexchange.com/questions/43672/how-to-add-code-to-header-php-in-a-child-theme Text Domain: myfogp Domain Path: languages/ */ /* Copyright 2014 Diego Soto (http://disientoconusted.blogspot.com.ar/) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ add_action('wp_head', 'wpse_43672_wp_head'); function wpse_43672_wp_head(){ $title = get_the_title() ." ‹ ". 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 } ?>
Anyone who is interested in the functionality of the plugin.
The title will be the concatenation of the name of the current page and the site name.
If a custom field called "metadescription" exists, the plugin tries to take the description from this field. Otherwise, take the description from the excerpt.
As the image, the plugin tries to use the thumbnail of the featured image on the page.
-
Bitte verwenden Sie "esc_attr ()"für den Inhalt des HTML-Attributs.Please use `esc_attr()` for the HTML attribute contents.
- 2
- 2014-08-14
- fuxia
-
Ich habegeändert,umesc_attr () zu verwenden,wie Siemirgesagt haben.Vielen Dank.I modified to use esc_attr() as you told me. Thank you.
- 0
- 2014-08-14
- DiegoSoto
Icherstelle zumersten Malein untergeordnetes Thema und hatteeinige Fragen zum Code,der dem Header hinzugefügt wurde.
Ineinem nicht untergeordneten Themagibt esbestimmten Code,denich zumeiner header.php-Datei hinzufüge,z. B. Google Analytics,Google Webmaster-Tools,Kauf-Verkaufs-Anzeigen,Facebook Open Graph usw.
Wiemachst du dasin einem untergeordneten Thema?Erstellen Sieeine header.php-Dateiin Ihrem untergeordneten Thema?Wennja,wie wird dasgemacht?Istes dasselbe wie das @import,dasich auf dem CSS verwendet habe?
Danke.