2010-07-07 90 views
3

在WP中,您可以過濾來自字符串的短代碼並使用do_shortcode($string)執行他們的掛鉤功能。Wordpress/PHP - 做一個短代碼

是否可以過濾一個簡碼,而不是所有註冊的簡碼?

比如我需要一些簡碼爲可供評論的海報一樣好,但不是所有的原因很明顯:)

回答

2
function do_shortcode_by_tags($content, $tags) 
{ 
    global $shortcode_tags; 
    $_tags = $shortcode_tags; // store temp copy 
    foreach ($_tags as $tag => $callback) { 
     if (!in_array($tag, $tags)) // filter unwanted shortcode 
      unset($shortcode_tags[$tag]); 
    } 

    $shortcoded = do_shortcode($content); 
    $shortcode_tags = $_tags; // put all shortcode back 
    return $shortcoded; 
} 

這是通過過濾全球$shortcode_tags,運行do_shortcode(),然後把一切恢復像以前一樣。

使用示例;

$comment = do_shortcode_by_tags($comment, array('tag_1', 'tag_2')); 

這將適用於短碼tag_1tag_2的評論。