为什么get_post_meta不返回JSON?

时间:2018-03-30 02:33:02

标签: php wordpress jsonschema

我正在尝试使用get_post_meta和自定义字段来填充JSON-ld。注意* JSON中的信息仅用于测试目的。

自定义字段名称:架构
自定义字段值

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="experience"></div>
  <div class="dimmer"></div>
</div>

get_post_meta PHP:

<script type="application/ld+json">
{
 "@context": "http://schema.org",
 "@type": "LocalBusiness",
 "address": {
   "@type": "PostalAddress",
   "addressLocality": "Example Town",
   "addressRegion": "Essex",
   "streetAddress": "123 Example Street"
 },
 "description": "A super shop that sells everything at super low prices.",
 "name": "Super Shop",
 "telephone": "01234567890"
}
</script>

我在关闭?><!DOCTYPE html> <html <?php language_attributes(); ?> class="no-js no-svg"> <head> <meta charset="<?php bloginfo( 'charset' ); ?>"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <?php wp_head(); ?> <?php global $post; $schema = get_post_meta($post->ID, 'schema', true); if(!empty($schema)) { echo $schema; } ?> </head> 代码之前的主题 header.php 文件中插入PHP。

更新,清除缓存,刷新,没有任何反应。关于我在这里做错了什么想法?

1 个答案:

答案 0 :(得分:0)

由于我无法看到您的所有代码,我将假设您不在WordPress循环中,问题是get_the_ID()仅返回WordPress循环中当前项的帖子ID。使用以下内容参考当前页面/帖子。

global $post;
$schema = get_post_meta($post->ID, 'schema', true);