Answers:
我会参与其中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。如果这个答案有帮助,请在上面为Brian的答案评分。
这是一个功能齐全的示例,说明如何通过自己的插件将内容添加到“标头”中。在这种情况下,我将为“共享”和“喜欢”按钮添加Facebook Open Graph的属性。
只需使用示例代码开头的“插件脚本”中指定的名称创建一个PHP文件,然后将其放在具有相同名称但没有扩展名的文件夹中,然后将该文件夹复制到目标位置“ / wp-content /插件”。
然后在“ Wordpress”中,刷新“插件”,您将看到已安装新插件。只要激活它,您的页面就会开始包含Open Graph Facebook和Twitter的元数据。
非常重要: PHP文件必须使用UTF-8编码,且不带BOM,并且末尾绝对没有字符。必须确保这一点。
<?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属性内容。