我创建了一个帖子类型名称“Gallery”,并添加了一些帖子元框。现在,让我们说每个单独的图库都有标题和内容。
现在,我想用Shortcode来利用这些数据。这怎么可能?
例如 -
[gallery id = x]
我知道如何获取ID( x )的值,但如何输出具有该值ID的帖子?
我像这样注册了这个短代码(但当然没有完成)
function shortcote_gallery( $atts , $content = null ) {
extract( shortcode_atts(
array(
'title' => 'Default Gallery Title'
), $
return "<h3>$title</h3><p>$content</p>";
}
add_shortcode( 'gallery', 'shortcote_gallery' );
我希望我足够清楚。如果没有,请告诉我,以便我更好地解释自己。 提前谢谢。
答案 0 :(得分:1)
你需要这个功能吗?或者我还没有理解你的问题。 https://codex.wordpress.org/Function_Reference/get_post
享受您的代码!
答案 1 :(得分:0)
在你的例子中:
[gallery id=x]
将字段id
作为参数。
所以在你的短代码函数中,你也需要提取它。
function shortcote_gallery( $atts , $content = null ) {
extract( shortcode_atts(
array(
'title' => 'Default Gallery Title',
'id' => '',
), $atts));
return "<h3>$title</h3><p>$content</p>";
}
你现在可以用通常的php方式做你想做的一切。 $id
现在具有您在帖子中输入的值。因此,如果您想输出具有此ID的内容,只需向数据库发出查询并获取所需的结果。
如果你有这样的事情:
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM `myTable` WHERE id ='".$id."'");
在这里,您可以格式化输出:
$content = "You have selected ".$results[0]->myField." with the id: $id";
return $content;