0

現在、非常に基本的なショートコードが機能していますが、パラメーターを追加できるように拡張したいと考えています[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;
        }

私はまだかなり急な学習曲線にあり、物事を十分に説明したことを願っています.

4

1 に答える 1