无法使用WPAlChemy获取返回的metabox值(URL)

时间:2011-08-27 作者:Adam

我正在使用WP Alchemy类向管理面板中的模板添加自定义元盒,并将这些元盒的结果拉入主题前端。以下是内容链接中的相关代码。php(在循环中-在二十一个主题中)。

<a href="<?php display_url_info(); ?>"><img src="http://localhost/wordpress/wp-content/uploads/2011/08/external-link-red03.png"/></a>   
现在,链接只显示永久链接,而不是元数据库中的url。如果我在那里硬编码一个url,自定义url就会显示在帖子上。我已验证它是否正确存储在db中的\\u custom\\u meta下(并在其他模板中成功实现了metabox显示)。下面是db中的值:

a:1:{s:5:"links";a:1:{i:0;a:2:{s:6:"domain";s:25:"http://stackexchange.com/";s:13:"post_link_url";s:48:"http://wordpress.stackexchange.com/questions/ask";}}}
这是我的插件文件:

$basic_metabox = new WPAlchemy_MetaBox (

    array (
    \'id\' => \'_custom_meta\',
    \'title\' => \'Basic Meta\',
    \'template\' => ABSPATH . \'wp-content/themes/beernews-child-theme/custom/basic-meta.php\',
    \'types\' => array(\'post\',\'link\')
    )

);

   add_filter(\'beernews-child-theme_post\', \'display_url_info\');

function display_url_info() {

    // usually needed
    global $basic_metabox;

    // get the meta data for the current post
    $basic_metabox->the_meta(); ?>

    <?php if ($basic_metabox->get_the_value(\'post_link_url\')) {

    echo $basic_metabox->the_value(\'post_link_url\');

}

}

2 个回复
SO网友:Evan Yeung

尝试更改display_url_info 功能到

<?php
add_filter(\'beernews-child-theme_post\', \'display_url_info\');

function display_url_info() {
    // usually needed
    global $basic_metabox;
    $basic = $basic_metabox->the_meta(); 

    if($basic[\'post_link_url\']) {
        echo $basic[\'post_link_url\'];
    } else {
        echo \'ERROR : "post_link_url" empty\';
    }
}
?>
我不想成为一个混蛋,但我想指出,WP Alchemy不是一个插件,而是一个PHP类。我只是不想让其他人感到困惑

SO网友:farinspace

不确定您使用过滤器的确切原因。。。

我将在主题文件中执行以下操作:

<?php global $basic_metabox; /* this is just needed once */ ?>
<?php if ($basic_metabox->have_value(\'post_link_url\')) { ?>
<a href="<?php $basic_metabox->the_value(\'post_link_url\'); ?>"><img src="http://localhost/wordpress/wp-content/uploads/2011/08/external-link-red03.png"/></a> 
<?php } ?>
还要注意的是get_the_value()the_value() 是不同的,第一个返回值,第二个回显值。

结束

相关推荐

Wordpress中的“作者”是什么?有没有可用的作者“metabox类”?

我正在尝试概述一个新项目,我想让我的用户能够在我的网站主题中自定义他们的“个人资料”页面。添加自己的背景图像、选择模板等概念。在我看来,将这些信息存储在author meta中似乎是合乎逻辑的,因为这似乎是唯一一个为每个用户存储唯一信息的表。一旦设置了输入框,我就可以轻松地在主题中进行调用。用户看起来不像是帖子类型或分类法,但我不知道他们“真正”是什么。有人能花点时间描述一下WordPress眼中的“用户”到底是什么吗?我最终希望的是找到一个类,在这个类中,我可以轻松地将元盒添加到编辑作者配置文件页面。我