通过unctions.php中的代码触发模式不起作用

时间:2019-11-26 作者:civixs

我一直在拼命想弄清楚模式,所以如果有人能帮助我,我将不胜感激。

我试图通过自定义字段手动添加模式,然后通过子主题函数中的函数启动模式。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文件可能并不理想,因为当创建者更新他们的主题时,我无法获得他们更新代码的好处。

我将如何着手解决此问题?我所要做的就是通过自定义字段激发我的模式。

另外,我在每个页面上都有不同的模式,但每个自定义字段都被命名为“模式”,这是一个问题吗?

无论如何,我希望这不是太多的要求。我很感激你能提供的任何帮助。

1 个回复
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[]", 如果您将数据保存为一个数组,那么应该不会有问题。如果数据保存为数组,则需要修改输出函数以相应地处理数组。

相关推荐

Custom field in PHP file

我是PHP的初学者,所以我希望有人能帮助我解决这个问题。我想用以下插件显示帖子的过期日期https://wordpress.org/plugins/advanced-schedule-posts/我认为我可以使用:$hasp_expire_date = get_post_meta( $post_id, ‘hasp_expire_date’, true );但我不知道如何将其插入到php文件中。我需要在此代码中放置(此处显示代码): $num_comments = get_co