我目前有一个非常基本的短代码工作,但想对其进行扩展以便能够为其添加参数,例如[fanColours number=3]
. 基本上,该参数将决定帖子中将显示多少个图像链接。
function fanColours() {
return '<div class="fansc clearfix">
<h3>Available Colours</h3>
<ul class="fan-colours clearfix">
<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/black_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/black_bone_on.jpg" alt="Black" width="87" height="87"></a></li>
<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/white_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/white_bone_on.jpg" alt="White" width="87" height="87"></a></li>
<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/yellow_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/yellow_bone_on.jpg" alt="Yellow" width="87" height="87"></a></li>
</ul>
</div>';
}
add_shortcode('fanColours', 'fanColours');
我在网上检查了各种方法,发现一些似乎朝着正确方向前进的东西,我在下面添加了这些方法,但我不确定如何在上面的代码中实现它。
编辑:所以我现在使用简码的最终版本[fanColours number=3]
如下:
function fanColours( $atts ) {
$links = array();
$links[]='<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/black_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/black_bone_on.jpg" alt="Black" width="87" height="87"></a></li>';
$links[]='<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/white_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/white_bone_on.jpg" alt="White" width="87" height="87"></a></li>';
$links[]='<li class="fleft"><a href="' . get_bloginfo('url') . '/content/uploads/2013/01/red_bone.jpg"><img src="' . get_bloginfo('url') . '/content/uploads/2013/01/red_bone_on.jpg" alt="Red" width="87" height="87"></a></li>';
extract( shortcode_atts( array(
'number' => '',
) , $atts ) );
$number = ($number < 0) ? 0 : $number;
$nr_of_links = ( $number < count( $links ) ) ? $number : count( $links );
$output = '<div class="fansc clearfix"><h3>Available Bone Colours</h3><ul class="fan-colours clearfix">';
for( $i = 0; $i < $nr_of_links; $i++ ) {
$output .= $links[$i];
}
$output .= '</ul></div>';
return $output;
}
提前感谢您的任何帮助或建议,请多多包涵,因为我仍然处于非常陡峭的学习曲线上,希望我已经充分解释了事情。