私は初めて子テーマを作成していますが、ヘッダーに追加されたコードに関していくつか質問がありました。
子供向けではないテーマでは、Googleアナリティクス、Googleウェブマスターツール、セル売り広告、Facebook Open Graphなど、私のheader.phpファイルに追加する特定のコードがあります。
あなたは子供のテーマでどのようにこれをしますか?あなたはあなたの子供のテーマでheader.phpファイルを作成しますか?もしそうなら、これはどのように行われますか? CSSで使用した@importと同じですか?
ありがとう。
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
}
子テーマのヘッダを変更するには、header.phpを親テーマから子テーマにコピーしてから変更します。 WordPressはあなたがあなたの子供のテーマにheader.phpを持っていることを見てそして親のテーマheader.phpの代わりにそれを使う
あなたがあなたの子供のテーマに入れたどんなテンプレートファイルも、WordPressによって呼ばれるとき、親のテーマの同じファイルよりも優先されます。
タグに含まれるものはすべて、Brians answerの関数のようなものを使用して実行する必要があります。テーマ固有のものであれば、特別な手順なしでテーマフォルダのfunctions.phpというファイルに入れることができます。
おかげで Brian Fegter 。この答えが助けになるなら、 Brian's answer の評価をつけてください。
これは、独自のプラグインによって "ヘッダー"に物事を追加する方法の完全に機能的な例です。この場合は、共有ボタンと類似ボタンにFacebook Open Graphのプロパティを追加します。
サンプルコードの冒頭の "Plugin Script"で指定された名前のPHPファイルを作成し、拡張子を付けずに同じ名前のフォルダーに配置して、このフォルダーを目的の場所にコピーするだけです。 "/ wp-content/plugins".
それから「Wordpress」内で「Plugins」をリフレッシュするとあなたの新しいプラグインがインストールされているのがわかるでしょう。それをアクティブにするだけで、あなたのページは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: 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
}
?>
プラグインの機能に興味がある人は誰でも。
タイトルは現在のページの名前とサイト名を連結したものになります。
"metadescription"というカスタムフィールドが存在する場合、プラグインはこのフィールドから説明を取得しようとします。それ以外の場合は、抜粋から説明を取ります。
画像として、プラグインはページ上の注目画像のサムネイルを使用しようとします。