SO网友:Frank P. Walentynowicz
这里面没有“魔法”,但有两种magic 方法WP_Post 班__isset(), 和__get().
你的extra_data 不是的属性WP_Post 类,所以首先var_dump 不包括它。
对不存在的属性的引用WP_Post 雇佣那些magic 方法检索post的元数据。
第一$post->__isset(\'extra_data\') 将执行,如果false 返回,然后$post->extra_data 将是空数组,否则$post->__get(\'extra_data\') 将运行,返回元数据。这就是为什么你的第二个var_dump 显示extra_data.
Note: 事实上,米洛对这个问题的第一个评论是完美的答案。