如果填写元数据,则显示元数据的内容

时间:2013-07-22 作者:Maartje

我想知道,如果metabox中有内容,是否可以输入您想要显示的代码。

我在帖子类型的项目中有一个元框,在这个元框中,客户可以填写项目的网站,这显示在div中。如果客户没有填写任何内容,我希望div消失。

我想应该是像isset一样的东西。

我的想法

if (get_meta = true){
<div class="websitebutton"><?php meta(\'website-link-project\'); ?></div>
}
else{
//nothing happens
}
但这是不正确的,只是一个我认为可能的想法。我在互联网上搜索了很多地方,但没有找到答案。

我用morefields插件创建了元框。

有人知道我怎样才能得到这份工作吗

1 个回复
最合适的回答,由SO网友:Johannes Pille 整理而成

前提是website-link-project 是所讨论的Posteta的密钥,并且您知道该帖子的ID(或者这分别在循环中):

<?php
    /* store post ID and metadata in variables */
    $postid = get_the_ID();
    $website_link = get_post_meta( $postid, \'website-link-project\', true );

    /* output some HTML on the condition of $website_link being meaningful */
    if ( ! empty( $website_link ) ) {
        echo \'<div class="websitebutton">\' . $website_link . \'</div>\';
    }
?>
根据我的假设是否正确,上述内容可能会按原样工作<请注意,我根本不知道您使用的插件。

get_the_ID 只能在The Loop, 如果你在其他地方,你也必须从其他地方获取ID。

get_post_meta 是WP的本机函数,用于检索post元数据。您的插件可能会提供其他插件。

至于上面的条件:
PHP的empty 它的名字告诉你的基本上是这样的——它检查一个变量是否被认为是“空的”(\'\' 没有字符的字符串,array() 空数组,NULL, false, 0 整数零等)。因为我们希望条件的计算结果为true 如果变量不是空的,我们用!.

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register