正在尝试将自定义代码添加到标头部分<head>..</head>
通过将此代码添加到child-theme functions.php
// Add scripts to wp_head()
function child_theme_head_script() {
if ( is_singular( \'article\' ) ) {
$cjt = \'\'.\'<meta name="date" content="\' . get_the_date().\'" />\' . \'\';
$ct = \'\'.\'<meta name="title" content="\' . get_the_title().\'" />\' . \'\';
}
echo $cjt.$ct;
}
add_action( \'wp_head\', \'child_theme_head_script\' );
实际上,此代码将此结果添加到html标题中:
<meta name="date" content="July 29, 2015" /><meta name="title" content="Delays in the post-marketing withdrawal of drugs to which deaths have been attributed: a systematic investigation and analysis" />
如您所见,生成的元标记显示在标题部分,但就在前面
</head>
. 此外,所有元标记都在同一行上。我需要的是:
如何使此代码在标题部分的顶部显示meta标记<head>
?如何将每个元标记放在单独的行上对于第二个问题,我需要元标记如下:
<meta name="date" content="July 29, 2015" />
<meta name="title" content="Delays in the post-marketing withdrawal of drugs to which deaths have been attributed: a systematic investigation and analysis" />
我试图添加
<p>...</p>
但结果是:
<p><meta name="date" content="July 29, 2015" /></p><p><meta name="title" content="Delays in the post-marketing withdrawal of drugs to which deaths have been attributed: a systematic investigation and analysis" /></p>
那么,有什么建议吗?
最合适的回答,由SO网友:s_ha_dum 整理而成
如何使此代码在标题部分的顶部显示meta标记?
你可能不能。通常wp_head()
在</head>
节,但这取决于主题。你没有任何控制权。
如何将每个元标记放在单独的行上?
使用双引号和\\n
...
$cjt = \'<meta name="date" content="\' . get_the_date().\'" />\'."\\n";
$ct = \'<meta name="title" content="\' . get_the_title().\'" />\'."\\n";
(顺便说一下,我不知道为什么要将空字符串连接到字符串的开头和结尾。)
回到正题上来,为什么?您正在尝试格式化代码,无论是否格式化,浏览器都将呈现相同的代码。你在做什么无关紧要。事实上,这比无关紧要更糟糕。它引入了不必要的字符,增加了页面大小,减慢了网站加载时间。看看任何谷歌搜索结果页面。你会和谷歌争论吗?
格式化HTML源代码的习惯可以追溯到我们编写HTML源代码的时候。这样做可以使代码可读性和可维护性。现在,我编写PHP,鉴于您正在编写WordPress,您也一样。格式化您的PHP源代码,而不要终止HTML。实际上,我努力将HTML全部打印在一行上,采用谷歌风格,但如果你不想为此烦恼,至少不要浪费时间尝试格式化它。
此外,根据以下HeadMedic的评论,您的echo
应该在if
有条件的,而不是在它之外。
if ( is_singular( \'article\' ) ) {
$cjt = \'<meta name="date" content="\' . get_the_date().\'" />\';
$ct = \'<meta name="title" content="\' . get_the_title().\'" />\';
echo $cjt.$ct;
}