2

「スタッフ」のカスタム投稿タイプがあります。その投稿タイプには「役職」(医師、看護師など)の分類があります。ユーザーがページ上の特定の分類法のスタッフのみを返すことを可能にするショートコードを作成しようとしています。

例:

  [staff position="doctors"] 

いくつかのチュートリアルに従ってみましたが、うまくいかないようです。これは私がこれまでに持っていたコードで、すべてのスタッフを返します。

function get_staff($atts) {
$loop = new WP_Query(
    array (
        'post_type' => 'staff',
        'orderby' => 'title'
    )
);

if ($loop->have_posts()) {
    $output = '<div class="staff">';

    while($loop->have_posts()){
        $loop->the_post();
        $meta = get_post_meta(get_the_id());

        $output .= '
            <div class="staff" style="float: left; display: block; border: 1px solid #CCC; margin: 10px; padding: 12px; background-color: #eee;">
                <a href="' . get_permalink() . '">
                    ' . get_the_post_thumbnail($post->ID, 'thumbnail') . '<br />
                ' . get_the_title()  . '</a><br />
                ' . get_the_excerpt() . '
            </div>
        ';
    }
    $output .= "</div>";
} else {
    $output = 'No Staff Added Yet.';
}

return $output;
};

add_shortcode('staff', 'get_staff'); 

ご協力いただきありがとうございます。

4

1 に答える 1

2

属性を抽出してクエリに追加する必要があります。

extract( shortcode_atts( array( 'position' => 'doctors' ), $atts ) ); // $position variable will be initialized to 'doctors' if the shortcode is missing the 'position' parameter

$loop = new WP_Query(
    array (
        'post_type' => 'staff',
        'orderby' => 'title',
        'position' => $position
    )
);
于 2013-05-06T15:03:56.327 に答える