Return Wordpress 中用于显示自定义字段的函数内的值
Return value within function in Wordpress to display a custom field
我不确定我做的是否正确。这是我的问题:
function getCustomField() {
global $wp_query;
$postid = $wp_query->post->ID;
echo '<p>'.get_post_meta($postid, 'blog_header', true).'</p>';
wp_reset_query();
}
使用此功能,当我像这样调用我的函数 getCustomField 时,我可以使用 wordpress 在我的模板中的几乎所有位置显示我的自定义字段:
<?php getCustomField(); ?>
但这不是我想要达到的安静。理想情况下,我想 return 这个函数的一个值,基本上用简码做同样的事情,所以同样的事情,而不是回显我想要 return 值的值,并在最后添加:
add_shortcode('custom', 'getCustomField');
所以我可以这样在我的主题中调用它:
或在循环内使用简码 [custom]。
当然不行,我的错误在哪里?
最后一件事,在远程情况下,如果我在最后 return 我的价值,它将起作用,像这样:
global $wp_query;
$postid = $wp_query->post->ID;
wp_reset_query();
return '<p>'.get_post_meta($postid, 'blog_header', true).'</p>';
在短代码中,您想要像这样检索 post id:
function getCustomField() {
$post_id = get_the_ID();
return '<p>'.get_post_meta( $post_id, 'blog_header', true ).'</p>';
}
add_shortcode( 'custom', 'getCustomField' );
检查 get_post_meta() 函数的值也可能很聪明。否则你最终会得到空的段落标签。你可以这样做:
function getCustomField() {
$post_id = get_the_ID();
$blog_header = get_post_meta( $post_id, 'blog_header', true );
if( $blog_header ) {
return '<p>'.$blog_header.'</p>';
}else{
return false;
}
}
add_shortcode( 'custom', 'getCustomField' );
我不确定我做的是否正确。这是我的问题:
function getCustomField() {
global $wp_query;
$postid = $wp_query->post->ID;
echo '<p>'.get_post_meta($postid, 'blog_header', true).'</p>';
wp_reset_query();
}
使用此功能,当我像这样调用我的函数 getCustomField 时,我可以使用 wordpress 在我的模板中的几乎所有位置显示我的自定义字段:
<?php getCustomField(); ?>
但这不是我想要达到的安静。理想情况下,我想 return 这个函数的一个值,基本上用简码做同样的事情,所以同样的事情,而不是回显我想要 return 值的值,并在最后添加:
add_shortcode('custom', 'getCustomField');
所以我可以这样在我的主题中调用它:
或在循环内使用简码 [custom]。
当然不行,我的错误在哪里?
最后一件事,在远程情况下,如果我在最后 return 我的价值,它将起作用,像这样:
global $wp_query;
$postid = $wp_query->post->ID;
wp_reset_query();
return '<p>'.get_post_meta($postid, 'blog_header', true).'</p>';
在短代码中,您想要像这样检索 post id:
function getCustomField() {
$post_id = get_the_ID();
return '<p>'.get_post_meta( $post_id, 'blog_header', true ).'</p>';
}
add_shortcode( 'custom', 'getCustomField' );
检查 get_post_meta() 函数的值也可能很聪明。否则你最终会得到空的段落标签。你可以这样做:
function getCustomField() {
$post_id = get_the_ID();
$blog_header = get_post_meta( $post_id, 'blog_header', true );
if( $blog_header ) {
return '<p>'.$blog_header.'</p>';
}else{
return false;
}
}
add_shortcode( 'custom', 'getCustomField' );