在循环外回显自定义页面的自定义字段
Echo a custom page's custom field outside the loop
我有一个带有特定自定义字段的自定义页面模板。我想在循环外显示这些自定义字段,但在同一页面内。
这个有效:
<?php echo get_post_meta( '244', 'custom_field_name', true ) ?>
但我想动态地工作,而无需输入页面的实际 ID。
如何在回显中调用页面ID?
试试这个:
<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'Your-Custom-Field', true);
wp_reset_query();
?>
如果此调用在循环中,请将 id 替换为函数 get_the_ID
,此函数会检索 WordPress 循环中当前项目的 ID。
<?php echo get_post_meta( get_the_ID(), 'custom_field_name', true ) ?>
参见:https://developer.wordpress.org/reference/functions/get_the_ID/
如果此调用是在单个页面中,请将 id 替换为对象项 $post->ID
。
$post = get_post();
<?php echo get_post_meta( $post->ID, 'custom_field_name', true ) ?>
参见:https://codex.wordpress.org/Class_Reference/WP_Post
此外,您可以通过全局变量 $post
.
获取对 post 的访问权限
$post = get_post();
<?php echo get_post_meta( $post->ID, 'custom_field_name', true ) ?>
我有一个带有特定自定义字段的自定义页面模板。我想在循环外显示这些自定义字段,但在同一页面内。
这个有效:
<?php echo get_post_meta( '244', 'custom_field_name', true ) ?>
但我想动态地工作,而无需输入页面的实际 ID。
如何在回显中调用页面ID?
试试这个:
<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'Your-Custom-Field', true);
wp_reset_query();
?>
如果此调用在循环中,请将 id 替换为函数 get_the_ID
,此函数会检索 WordPress 循环中当前项目的 ID。
<?php echo get_post_meta( get_the_ID(), 'custom_field_name', true ) ?>
参见:https://developer.wordpress.org/reference/functions/get_the_ID/
如果此调用是在单个页面中,请将 id 替换为对象项 $post->ID
。
$post = get_post();
<?php echo get_post_meta( $post->ID, 'custom_field_name', true ) ?>
参见:https://codex.wordpress.org/Class_Reference/WP_Post
此外,您可以通过全局变量 $post
.
$post = get_post();
<?php echo get_post_meta( $post->ID, 'custom_field_name', true ) ?>