ID传入时将特定帖子标题拉出循环的快捷代码

时间:2017-07-24 作者:Adam Costanza

我希望能够创建一个快捷码,当我传入帖子的ID时,它将返回帖子标题。一、 E.[myshortcode\\u title ID=1234]

我有一个从当前帖子中提取帖子标题的短代码:

function myshortcode_title( ){
   return get_the_title();
}
add_shortcode( \'page_title\', \'myshortcode_title\' );
我见过可以传入属性并在循环外返回结果的短代码,但我对WP短代码还是比较陌生。

2 个回复
SO网友:Rarst

Codex短代码文档中有一节Handling Attributes.

简而言之,属性将传递给回调,您需要使用回调中的代码实现对它们的处理:

function my_shortcode_handler( $atts, $content = null ) {
    $a = shortcode_atts( array(
        \'attr_1\' => \'attribute 1 default\',
        \'attr_2\' => \'attribute 2 default\',
        // ...etc
    ), $atts );
}

SO网友:Adam Costanza

这是我通过传入帖子ID来获得我想要的结果,即帖子标题:

// Get Post Title outside of loop
// USE: [get-post-details post="123"]

function title_by_id($atts) {
    $atts = shortcode_atts( array(
        \'post\' => 0,
    ), $atts, \'title-from-id\' );   
    $id = $atts[\'post\'];               
    $data = get_the_title($id);        
    return $data;                      
}
add_shortcode( \'title-from-id\', \'title_by_id\' );

结束

相关推荐

如何从ShortCode属性中获取一个特定术语?

我正在处理一个函数,我只想输出一个链接到特定术语的按钮。我用过get_the_terms 我已经成功地让它工作了,但我一直在努力get_term 我没有运气。我想让短代码看起来像这样[see_all_products category=\"bakery\"] 并输出一个链接到它的按钮。这是我目前的职能:function product_category_button($atts) { extract(shortcode_atts(array( \'cate