从post_name,post_slug或post_title

时间:2016-03-11 21:21:01

标签: php wordpress shortcode

我正在使用wordpress为公司开发网站 他们有成千上万的帖子和页面。 该公司希望拥有自定义字段,其中包含开放时间和staff_info等信息,然后使用短代码在网站上显示信息。

这样,他们就可以改变这个自定义字段,并且会复制整个帖子和页面。智能移动..好的..

我为短代码想出了这个函数:

/* ### Staff list shortcode ### */
// [stafflist "name" post_id=14600] - this will get name field from post_id=14600
// [stafflist "phone" post_id=14600]
// [stafflist "email" post_id=14600]
add_shortcode( 'stafflist', 'custom_stafflist_shortcode' );
function custom_stafflist_shortcode( $atts ) {
    extract(shortcode_atts(array(
        'post_id' => NULL,
    ), $atts));
    if( !isset( $atts[0] ) ) 
        return;
    $stafflist = esc_attr( $atts[0] );
    global $post;
    $post_id = ( NULL === $post_id ) ? $post->ID : $post_id;
    return get_post_meta( $post_id, $stafflist, true );
}

如果可能的话,我想简化一下。

是否可以通过post_slug或post_url或post_id以外的其他方式使此功能获取电话?

如果我可以使用类似[stafflist" phone" title = CEO]或[stafflist" phone" post_slug = CEO]显示首席执行官的电话号码。

就像我说的那样,我希望这对他们来说尽可能简单。 这可能吗?

如果是这样,有人可以帮忙吗?

由于

0 个答案:

没有答案