回答:
私はwp_head
アクションに夢中になります。プレゼンテーション層から抽象化するために、これをプラグインに配置します。これにより、スケーラビリティとテーマの変更が可能になります。また、これにより、あるテーマから次のテーマへの移行でステップを逃した場合に、分析の付随的な損傷を防ぐことができます。
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
}
functions.php
ファイルに入れるか、さらに良いことに、ブライアンが提案したように、サイト固有のプラグインに入れます。
子テーマのヘッダーを変更するには、親テーマからheader.phpを子テーマにコピーしてから変更します。WordPressは、子テーマにheader.phpがあることを確認し、親テーマheader.phpの代わりにそれを使用します
WordPressから呼び出された場合、子テーマに配置したテンプレートファイルは、親テーマの同じファイルよりも優先されます。
タグに含まれる内容はすべて、Brians answerの関数などを使用して実行する必要があります。テーマ固有の場合は、追加の手順を行わなくても、テーマフォルダーのfunctions.phpというファイルに配置できます。
Brian Fegterに感謝します。この回答が役立つ場合は、上記のブライアンの回答を評価してください。
これは、独自のプラグインによって「ヘッダー」に物事を追加する方法の完全に機能的な例です。この場合、「共有」ボタンと「いいね」ボタンにFacebook Open Graphのプロパティを追加しています。
サンプルコードの冒頭にある「プラグインスクリプト」で指定された名前のPHPファイルを作成し、拡張子のない同じ名前のフォルダーに配置し、このフォルダーを宛先「/ wp-content /プラグイン」。
次に、「Wordpress」内で「プラグイン」を更新すると、新しいプラグインがインストールされていることがわかります。有効化するだけで、ページにOpen Graph FacebookおよびTwitterのメタデータが含まれるようになります。
非常に重要: PHPファイルは、BOMなしでUTF-8でエンコードされている必要があり、最後に文字がまったく含まれていない必要があります。これを確認する必要があります。
<?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: /wordpress/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
}
?>
プラグインの機能に興味がある人。
タイトルは、現在のページの名前とサイト名を連結したものになります。
「metadescription」というカスタムフィールドが存在する場合、プラグインはこのフィールドから説明を取得しようとします。それ以外の場合は、抜粋から説明を取得します。
画像として、プラグインはページ上の注目画像のサムネイルを使用しようとします。
esc_attr()
HTML属性のコンテンツに使用してください。