get_post_meta数据与短代码,是可能的

时间:2013-01-12 20:29:52

标签: php wordpress function

问题是关于Wordpress自定义元字段。如果我的元字段中有内容,我想在我想要的 single.php 上显示我的元值。我认为使用短代码是可能的。

function themedemocode($atts,$content = null ) {
return 'What should i do for displaying my meta values ?'; 
}
add_shortcode('demo', 'themedemocode');

我的元字段ID是; ThemeDemoUrl ThemeDownloadUrl

- 已解决 -

function examplewpkeep($atts, $content = null ) {
     global $post;
     $custom_content = get_post_custom($post->ID);
     if (isset($custom_content["UygulamaDemo"])) {
        $meta_content = $custom_content["UygulamaDemo"][0];
     }
     if (isset($custom_content["UygulamaKaynak"])) {
        $meta_content = $custom_content["UygulamaKaynak"][0];
     }
     $meta_content  = '<p style="text-align:center;width:600px;"><a class="informational-link" style="color:#fff;text-decoration:none;margin-right:20px;" href="http://www.fatihtoprak.com/git/'.$custom_content["UygulamaDemo"][0].'" target="_blank" />Önizleme.</a><a class="website-link" style="color:#fff;text-decoration:none;" href="http://www.fatihtoprak.com/git/'.$custom_content["UygulamaKaynak"][0].'" target="_blank" />Dosyaları indir.</a></p>';

     return $meta_content;
}
add_shortcode('kaynak', 'examplewpkeep');

1 个答案:

答案 0 :(得分:3)

未经测试,但这样的事情应该有效:

function themedemocode($atts, $content = null ) {
     global $post;
     $meta_content = '';
     $custom_content = get_post_custom($post->ID);
     if (isset($custom_content["ThemeDemoUrl"])) {
        $meta_content .= $custom_content["ThemeDemoUrl"][0];
     }
     if (isset($custom_content["ThemeDownloadUrl "])) {
        $meta_content .= $custom_content["ThemeDownloadUrl"][0];
     }
     return $meta_content;
}

当然,你可以像下面那样包装你的元内容来应用一些html /样式

$meta_content .= '<p>' . $custom_content["someKey"][0] . '</p>'.