我一直在拼命想弄清楚模式,所以如果有人能帮助我,我将不胜感激。
我试图通过自定义字段手动添加模式,然后通过子主题函数中的函数启动模式。php。
好
当我输入此代码时
<?php
$schema = get_post_meta(get_the_ID(), \'schema\', true);
if(!empty($schema)) {
echo $schema;
}
?>
进入我的功能。php,我遇到了这个错误。
Your PHP code changes were rolled back due to an error on line 27 of file wp-content/themes/astra-child/functions.php. Please fix and try saving again.
syntax error, unexpected \'<\', expecting end of file
然后我意识到代码需要在我的头中。php文件,但我没有标题。php文件,并将该内容复制到新标题中。我的孩子主题中的php文件可能并不理想,因为当创建者更新他们的主题时,我无法获得他们更新代码的好处。
我将如何着手解决此问题?我所要做的就是通过自定义字段激发我的模式。
另外,我在每个页面上都有不同的模式,但每个自定义字段都被命名为“模式”,这是一个问题吗?
无论如何,我希望这不是太多的要求。我很感激你能提供的任何帮助。
SO网友:Antti Koskinen
将自定义数据添加到站点<head>
是使用一个自定义函数,将其挂接到相关操作。在这种情况下,您可以使用wp_head
行动就像这样,
// this goes to functions.php file
add_action(\'wp_head\', \'insert_my_page_schema\');
function insert_my_page_schema() {
// only execute the code if on a single page
if ( ! is_page() ) { // modify condition as needed
return;
}
// do we have any saved schema meta
$schema = get_post_meta( get_the_ID(), \'schema\', true);
if ( ! $schema ) {
return;
}
// add schema markup to the page head
echo esc_html($schema); // escape output to prevent any unintended html injections
// or if needed, format_my_page_schema($schema);
}
// optional helper function for formatting the schema output
function format_my_page_schema($schema) {
// format the schema, if needed
return $schema;
}
另外,我在每个页面上都有不同的模式,但每个自定义字段都被命名为“模式”,这是一个问题吗?
每个页面都可以使用schema
元键。如果一个页面有多个自定义字段,每个字段都有相同的元键,即每个模式输入都有name="schema"
. 但如果字段名为数组格式,name="schema[]"
, 如果您将数据保存为一个数组,那么应该不会有问题。如果数据保存为数组,则需要修改输出函数以相应地处理数组。