とっても使える「FE Advanced Search」でカスタム投稿のカテゴリ検索結果にカテゴリタイトルが表示されなかった。。
バージョンアップによるものか、他のプラグインによるものか、はたまたwordpressバージョンとの互換性なのか原因不明。
個人的メモ
search-controller.php 604行目 下記部分を
if ( $get_ids ) {
$cnt_ids = count( $get_ids );
for ( $i_ids = 0; $i_ids < $cnt_ids; $i_ids++ ) {
if ( 0 == $i_ids ) {
$ret .= " ( ";
} else {
$ret .= " OR ";
}
$ret .= $wpdb->posts . ".ID = " . esc_sql( $get_ids[$i_ids]->object_id );
if ( ( $i_ids + 1 ) == $cnt_ids )
$ret .= " ) ";
}
} else {
$ret = " ( " . $wpdb->posts . ".ID = -9999 ) ";
}
// 検索条件を収納
for( $i_ck =0 , $cnt_ck = count( $c_keys ); $i_ck < $cnt_ck; $i_ck++ ){
// 検索条件を収納
$term_data = get_term_by( 'id', $data['cat'], 'category' );
$cat_names = $term_data->name;
insert_result( $cat_names );
return $ret;
}
とりあえず下記に変更したら表示される。とりあえず様子見
$get_ids = $wpdb->get_results( $sql );
$cat_names = array();
if( $get_ids ){
for( $i_ids = 0, $cnt_ids =count( $get_ids ); $i_ids < $cnt_ids; $i_ids++){
if( $i_ids == 0 )
$ret .= "( ";
else
$ret .=" OR ";
$ret .= "id = " . $get_ids[ $i_ids ]->object_id;
if( ($i_ids +1) ==$cnt_ids)
$ret .=" )";
// 検索条件としてテンプレートに表示させるためにカテゴリ名を取得
$cat_names[] = $get_ids[$i_ids]->name;
}
} else {
$ret = "( id = -9999 )";
}
// 重複を消去
$cat_names = array_unique( $cat_names );
// キー取得
$c_keys = array_keys( $cat_names );
// 検索条件を収納
for( $i_ck =0 , $cnt_ck = count( $c_keys ); $i_ck < $cnt_ck; $i_ck++ ){
insert_result( $cat_names[ $c_keys[ $i_ck ] ] );
}
return $ret;
}