用短码替换自定义字段

时间:2011-09-17 作者:Zhianc

我一直在为我的wordpress主题使用自定义字段,但现在我想使用快捷码,以便于发布。

所以之前,在我的索引中。php我有:

<?php echo get_post_meta($post->ID, "Thumbnail", true);?>
如何用自定义字段替换它?这样我就可以插入:

[thumbnail]http://domain.com/image.jpg[/thumbnail]

2 个回复
SO网友:Brian Fegter

像这样的短代码

[thumbnail height=100 width=100]http://urltoimage.com/image.jpg[/thumbnail]
需要这种类型的设置

function content_insert_thumbnail($atts, $content = null){
    global $post;
    extract($atts);
    $thumbnail = get_the_post_thumbnail($post->ID, array($height, $width));
    $content .= $thumbnail; //Places the thumbnail after the content
    return $content; //Never echo a value from a shortcode function.
}
add_shortcode(\'thumbnail\', \'content_insert_thumbnail\');
要在主题中调用此选项以插入缩略图,请执行以下操作:

$atts = array(
    \'height\' => 100,
    \'width\' => 100
);
content_insert_thumbnail($atts);
这个例子在主题中没有意义,因为您可以调用\\u post\\u thumbnail()函数。然而,这个示例只是向您展示如何访问模板文件中的shortcode函数(无论它是什么)。

SO网友:Niraj Chauhan

我不知道这是否有效,但请尝试此代码

function customfield_shortcode(){
 echo get_post_meta($post->ID, "Thumbnail", true);
//instead echo use return
}
add_shortcode( \'thumbnail\', \'customfield_shortcode\' );

结束

相关推荐

Shortcode empty attribute

有没有办法为短代码创建一个空属性?示例:function paragraph_shortcode( $atts, $content = null ) { return \'<p class=\"super-p\">\' . do_shortcode($content) . \'</p>\'; } add_shortcode(\'paragraph\', \'paragraph_shortcode\'); 用户类型某物它显