我创建了一个元框,允许用户在帖子中添加其他名称/id。据我所知,它正确地添加了元信息,因为当我编辑一篇具有自定义名称/ID的文章时,它会在默认情况下显示在输入框中。
因此,我的问题是,我试图提取自定义ID/名称,并将其用作代码中的附加ID标记。虽然它没有检索任何内容。当我在主题中使用代码并检查页面上的html时,ID显示ID=“”。因此,出于某种原因,它并没有拉动任何东西。有人能看到问题吗?
<?php $post_id = get_the_ID(); ?>
<?php $value = get_post_meta($post_id, \'newtheme_section_id\'); ?>
<id="<?php $value; ?>">
如果我将get\\u the\\u ID()更改为\\u ID(),那么它将返回一个值,但它是post ID,而不是用户在字段中输入的自定义ID。
编辑:我可以通过回显函数而不是将其存储在变量中,再加上Manny的建议来找出答案。这是更新后的代码。
<?php $post_id = get_the_ID(); ?>
<id="<?php echo esc_attr( get_post_meta($post_id, \'newtheme_section_id\', true) ); ?>">
最合适的回答,由SO网友:Manny Fleurmond 整理而成
确保将第三个参数包含到get_post_meta
, 一个布尔值,用于确定它是否返回单个项或项数组。默认值为false,这是一个数组,因此将其设置为true:
<?php $value = get_post_meta ($post_id, \'newtheme_section_id\', true ); ?>