I created a shortcode which display the employees, the HTML look somthing like that:
<ul class="employees">
<li><img src=""> <h5>name</h5> <p>description</p></li>
<li><img src=""> <h5>name</h5> <p>description</p></li>
..
</ul>
So I created 2 shortcodes:
[start_employee] - which contains <ul class="employee"> .. </ul>
[employee] - which contains content about the employee
And it should work like that:
[start_employee]
[employee img=".." name=".." description=".."]
[employee img=".." name=".." description=".."]
[/start_employee]
but when I put it in the wordpress editor the html look like that:
<ul class="employee">
[employee img=".." name=".." description=".."]
[employee img=".." name=".." description=".."]
</ul>
I think I know why.. because the fuunction of start_employee contain:
return '<ul class="employee">'.$content.'</ul>';
What should I do that it read it as a shortcode?
Thank you.
Shortcodes do not automatically nest -- you have to call do_shortcode($content)
yourself. See the caption_shortcode()
example on http://codex.wordpress.org/Shortcode_API.
You have to use shortcodes recursively to get the result.
function start_employee($attr,$content){
return '<ul class="employee">'.do_shortcode($content).'</ul>';
}
add_shortcode("start_employee","start_employee");
function employee($attr,$content){
return '<li><img src=""> <h5>name</h5>; <p>description</p></li>';
}
add_shortcode("employee","employee");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With