Ich verwende derzeit ein Thema, das mit einer Reihe von Shortcodes kommt.Wordpress verschachtelte Shortcode/Plugin funktioniert nicht
Ich möchte einen Shortcode in einen Shortcode aufnehmen. Einer kommt von einem Social-Share-Plug-in namens ShareThis, während der andere Teil des Themas ist.
Wenn ich jedoch den Shortcode verschachtelt, funktioniert es einfach nicht.
Ich habe auch versucht this plug-in, aber es funktioniert auch nicht. Der Shortcode, den ich hinzufügen möchte, ist unten. [st_buttons] Ist der Shortcode ich versuche zu verschachteln.
[flip_image animate='flip' delay='' flip_on_appear='' front_image_link='' back_image_link='' background_color='#f2f2f2' back_text='[st_buttons]' link='' target='']
Update-Shortcode-Funktion
if (!function_exists('flip_image')) {
function flip_image($atts, $content = null) {
extract(shortcode_atts(array("animate" => "", "flip_on_appear" => "", "delay" =>"", "front_image_link" => "", "back_image_link" => "", "background_color" => "", "back_text" => "", "link" => "", "target" => ""), $atts));
$html = "";
if($front_image_link != "" && $back_image_link != ""){
$html .= '<div class="flip_image_holder '.$animate.' '.$flip_on_appear.'" data-delay="'.$delay.'"><a href="'.$link.'" target="'.$target.'"><div class="flip_image front"><img src="'.$front_image_link.'" alt="'.getImageAltFromURL($front_image_link).'" /></div><div class="flip_image back"><div class="flip_image_text"><div class="flip_image_text_inner"><img src="'.$back_image_link.'" alt="'.getImageAltFromURL($back_image_link).'" /></div></div></div></a></div>';
} else {
$html .= '<div class="flip_image_holder '.$animate.' '.$flip_on_appear.'" data-delay="'.$delay.'"><a href="'.$link.'" target="'.$target.'"><div class="flip_image front"><img src="'.$front_image_link.'" alt="'.getImageAltFromURL($front_image_link).'" /></div><div class="flip_image back" style="background-color: '.$background_color.';"><div class="flip_image_text"><div class="flip_image_text_inner"><h4>'.$back_text.'</h4></div></div></div></a></div>';
}
return $html;
}
}
add_shortcode('flip_image', 'flip_image');
Kann ich nur bestätigen, dass Ihre Ausgabe mit 'back_text =" [st_buttons] "' endet, wobei der Shortcode einfach so bleibt wie er ist? –
ja, das ist richtig der Haupt-Shortcode ist der [Flip-Image] und [st_buttons] ist der Shortcode. Wenn ich es jedoch wie oben eingefügt habe, bricht es ab und zeigt nur ein '] auf der Seite an. – user1673498
Sie müssen die erste Shortcode-Funktion bearbeiten, um sicherzustellen, dass sie do_shortcode() mit dem Inhalt aufruft, den sie durch https://developer.wordpress.org/reference/functions/do_shortcode/ durchläuft, andernfalls wird sie nur als Text und Sie ausgegeben am Ende mit [] wie du gesagt hast –