Ich versuche gerade, einen Shortcode für WordPress zu erstellen, der Tabs erstellt, ich weiß, dass Shortcodes verfügbar sind. Aber ich versuche zu lernen, wie man sie selbst schreibt.Benutzerdefinierter Shortcode zum Erstellen von Tabs
Derzeit erzeuge ich die Tab-Menü-Elemente, aber ich bin fest mit der Platzierung des Inhalts in einem völlig neuen div.
Front-End-Verbrauch:
[tabs]
[tab title="tab" active="y" id="home"]home[/tab]
[tab title="tab2" active="n" id="about"]about[/tab]
[tab title="tab3" active="n" id="help"]help[/tab]
[/tabs]
Und dann der Code:
function tabs_group($atts, $content = null) {
extract(shortcode_atts(array(
'id' => '',
'class' => ''
), $atts));
$output = '<ul class="nav nav-tabs '.$class.'" ';
if(!empty($id))
$output .= 'id="'.$id.'"';
$output .='>'.do_shortcode($content).'</ul>';
return $output;
}
add_shortcode("tabs", "tabs_group");
function tab($atts, $content = null) {
extract(shortcode_atts(array(
'id' => '',
'title' => '',
'active'=>'n'
), $atts));
if(empty($id))
$id = 'tab_item_'.rand(100,999);
$output = '<li class="'.($active == 'y' ? 'active' :'').'">
<a href="#'.$id.'">'.$title.'</a>
</li>';
$output .= '<div class="tab-content">
<div class="tab-pane active" id="'.$id.'">'.$content.'</div>
<div class="tab-pane" id="'.$id.'">'.$content.'</div>
<div class="tab-pane" id="'.$id.'">'.$content.'</div>
</div>';
return $output;
}
add_shortcode("tab", "tab");
es derzeit gibt:
<ul class="nav nav-tabs">
<li class="active">
<a href="#home">tab</a>
</li><div class="tab-content">
<div class="tab-pane active" id="home">home</div>
<div class="tab-pane" id="home">home</div>
<div class="tab-pane" id="home">home</div>
</div>
<li class="">
<a href="#about">tab2</a>
</li><div class="tab-content">
<div class="tab-pane active" id="about">about</div>
<div class="tab-pane" id="about">about</div>
<div class="tab-pane" id="about">about</div>
</div>
<li class="">
<a href="#help">tab3</a>
</li><div class="tab-content">
<div class="tab-pane active" id="help">help</div>
<div class="tab-pane" id="help">help</div>
<div class="tab-pane" id="help">help</div>
</div>
</ul>
und ich brauche es zurück:
<ul class="nav nav-tabs " >
<li class="active">
<a href="#home">tab</a>
</li>
<li class="">
<a href="#about">tab2</a>
</li>
<li class="">
<a href="#help">tab3</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home">blah</div>
<div class="tab-pane" id="about">blah</div>
<div class="tab-pane" id="help">blah</div>
</div>
Ich habe die Ausgabe hinzugefügt, danke Obmerk Kronen.
Jede Hilfe sehr geschätzt.
+1 Sie –
Sie haben nicht den Teil der divs in Ihrem Inhalt –
Es tut mir leid ich nicht ganz verstehen lernen wollen? –