2016-12-21 20 views
0

これは本当にシンプルだと思いますが、これまでのところ答えは見つかりませんでした。Wordpressでカスタムクエリの結果を別の関数に渡す方法

私は、カスタムショートコードを介して起動される関数sc_start_custom_loop()でカスタムクエリを使用しています。

function sc_start_custom_loop(){ 
    $args_assets = array(
     'post_type' => 'assets', 
     'posts_per_page' => -1, 
     'post__in' => $asset_ids, 
     ); 

    $query_assets = new WP_Query($args_assets); 
    if($query_assets->have_posts()) : while($query_assets->have_posts()) : $query_assets->the_post(); 

    output_custom_title(); 

    endwhile; else: 
    _e('Sorry. No assets found!'); 
    endif; wp_reset_postdata(); 
} 

function output_custom_title(){ 
    $ouput_title = '<p class="assets-title">'.$query_assets->post->post_title.'</p>'; 
    return $output_title; 
} 

ただし、output_custom_title()の$ query_assets-> post-> post_titleは空です。

ありがとうございました!

答えて

2
function sc_start_custom_loop(){ 
    $args_assets = array(
     'post_type' => 'assets', 
     'posts_per_page' => -1, 
     'post__in' => $asset_ids, 
     ); 

    $query_assets = new WP_Query($args_assets); 
    if($query_assets->have_posts()) : while($query_assets->have_posts()) : $query_assets->the_post(); 

    echo output_custom_title($query_assets); 

    endwhile; else: 
    _e('Sorry. No assets found!'); 
    endif; wp_reset_postdata(); 
} 

function output_custom_title($query_assets){ 
    $ouput_title = '<p class="assets-title">'.$query_assets->post->post_title.'</p>'; 
    return $output_title; 
} 
関連する問題