1

WPAlchemy を使用して管理領域にカテゴリのリストを作成しました。コードは次のとおりです。

<?php 
$mb->the_field('s_cat'); 

$args = array(
'name'               => $mb->get_the_name(),
'id'                 => $mb->get_the_name(),
'selected'           => html_entity_decode($mb->get_the_value()),
'class'              => 'catlist',
'orderby'            => 'ID', 
'order'              => 'ASC',
'hide_empty'         => 0, 
'child_of'           => 0,
'hierarchical'       => 1, 
'depth'              => 2,
'hide_if_empty'      => false ); 

wp_dropdown_categories( $args ); 
?> 

投稿のリストを作成する関数を作成しました。コードは次のとおりです。

function fn_dropdown_post($cat_id) {
$args=array(
    'cat' => $cat_id,
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => -1,
    'caller_get_posts'=> 1
);

$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
?>
    <select name="menu">
    <?php
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <option value="<?php the_ID() ?>"><?php the_title(); ?></option>
    <?php
    endwhile;
    ?>
    </select>
<?php
}
wp_reset_query();
}

これまでのところ正常に動作します。

カテゴリが選択されているときに投稿のリストを表示したいのですが、機能しない次のコードを試しました:

<script>
jQuery(document).ready(function(e) {
    jQuery('.catlist').change(function() {
        <?php fn_dropdown_post(" ?> jQuery(this).val() <?php "); ?>;
    });
});
</script>

上記のコードjQuery(this).val()では、選択したカテゴリの値が表示されています。

何か提案はありますか?

4

1 に答える 1