在元框中获取$POST(对象、部件/值)

时间:2016-11-08 作者:T.Todua

我想知道如何获取,即$post ID、TITLE等。。在metabox中?

是否有其他解决方案,而不是$GLOBALS[\'post\'] ?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

不要依赖全局变量,如get_the_ID()get_post() 做使用回调的参数。

获取当前的post对象twice:

注册元盒时,将post对象作为第二个参数

add_action( \'add_meta_boxes\', function( $post_type, \\WP_Post $post ) {
    add_meta_box(
        \'test\', // handle
        \'Box title\', // title
        function( \\WP_Post $post ) { // output
            print get_the_title( $post );
    });
});

SO网友:kaiser

只需使用API提供的内容(全局$post 对象是指通过主查询循环设置的帖子setup_postdata() 功能):

$post = get_post( get_the_ID() );
所有其他API函数也引用$_GLOBALS[\'post\'] 变量和global $wp_query (分别为global $wp_the_query) 变量。打个电话就行了get_the_title(), 等等,你很好。旁注:所有这些都是按默认值缓存的,因此重复调用不会造成伤害。

Edit: 放弃这个答案所提供的内容,继续使用@toscho在答案中所写的内容,这是正确选择的解决方案。

相关推荐

如何在WordPress开发中添加带有ACF自定义字段ID的自定义metabox字段

我是wordpress开发的新手,我在我的项目中安装了高级自定义字段插件,并创建了两个文本字段名称&;我还创建了一个插件,可以在帖子中创建一个带有文本框的元框。现在在帖子中,我将获得自定义字段名称(&A);电子邮件和我的自定义元框旁边将出现,但我必须将我的元框附加到名称字段旁边,即在名称字段和电子邮件字段之间。我的metabox代码如下。请任何人帮帮我//Creating the custom meta box function my_notice_meta_box() {