0
私は、進行状況を決定するためにパーセンテージが必要なショートコードを使ってプログレスバーを作成しようとしています。しかし、私はショートコードの別の部分から私の割合を得ています。2つのサードパーティのWordpressショートコードを入れ子にする方法
2つのショートコードをネストすると、それらは失敗します。誰かが私を助けることができますか?以下 は...最初のプログレスバーがあり、取得率の関数である(プログレスバーの後に置かれている)
function fruitful_pbar_shortcode ($atts, $content = null) {
$out = $type = $class = '';
extract(shortcode_atts(array(
'id' => 'ffs-pbar-' . rand(1, 100),
'type' => '',
'active' => false,
'stripped' => false
), $atts));
if (!empty($id)) { $id = sanitize_html_class($id); }
if (!empty($type)) { $type = sanitize_html_class($type); }
if (!empty($active)) { $active = sanitize_html_class($active); }
if (!empty($stripped)) { $stripped = sanitize_html_class($stripped); }
$class .= $type;
if ($stripped) { $class .= ' progress-striped'; }
if ($active) { $class .= ' active'; }
$out .= '<div id="'.$id.'" class="progress '.$class.'">';
$out .= fruitful_sh_esc_content_pbr(do_shortcode($content));
$out .= '</div>';
$out .= '<div class="clearfix"></div>';
return $out;
}
add_shortcode ("fruitful_pbar", "fruitful_pbar_shortcode");
function fruitful_bar_shortcode ($atts, $content = null) {
$type = $width = '';
extract(shortcode_atts(array(
'type' => '',
'width' => '60%'
), $atts));
if (!empty($type)) { $type = sanitize_html_class($type); }
if (!empty($width)) { $width = esc_attr($width); }
return '<div class="bar '.$type.'" style="width: '.do_shortcode($width).';"></div>';
}
add_shortcode('fruitful_bar', 'fruitful_bar_shortcode', 99);
そして第二に...
プラグインのショートファイル内の2つのコードスニペットですif(!function_exists('show_specific_product_quantity')) {
function show_specific_product_quantity($atts) {
// Shortcode Attributes
$atts = shortcode_atts(
array(
'id' => '', // Product ID argument
),
$atts,
'product_qty'
);
if(empty($atts['id'])) return;
$stock_quantity = 0;
$product_obj = wc_get_product(intval($atts['id']));
$stock_quantity = ((12000 - $product_obj->get_stock_quantity())/12000) * 100;
if($stock_quantity > 0) return $stock_quantity;
}
add_shortcode('product_qty', 'show_specific_product_quantity');
}
以下私が使用しているショートがある...
[fruitful_pbar][fruitful_bar type="progress-bar-info" width=" [product_qty id="4278"]% " stripped="true"][/fruitful_bar][/fruitful_pbar]
あなたが見ることができるように - 私は私が必要なものを作成するためにショートの内部でショートコードを使用しています。 ありがとうございます! :-)