管理画面でカスタムフィールドでの日付でソートしたい
-
いろいろ調べたのですが、問題が解決できず、教えて頂けたら有難いです。
カスタム投稿としてfunctions.phpへseminorという投稿タイプを作っております。
http://teternal.com/seminor/以下のサイトを参考にしながら、投稿日とは別に、カスタムフィールドでセミナーの日付、開始時間、終了時間を入力設定させるというやり方で、投稿タイプを構築していきました。
https://www.webopixel.net/wordpress/343.html問題になっているのは管理画面で、
今後増えていく記事について、全て投稿公開した日付とアクセス数でしか、並び替えが行えず、
上記で設定した、「セミナー日付」の項目で昇順、降順などを切り替えしたいです。
かなり調べて色々試してるのですが、どうも上手くいきません。ソート並び替えで参考にしたのは、↓のサイトです
https://office7f.com/2015/10/20/wordpress-taxonomy-filter/–以下、functions.phpへの記入(今回上手くいってない内容)–
function column_orderby_custom( $vars ) {
if ( isset( $vars[‘orderby’] ) && ‘セミナー日付’ == $vars[‘orderby’] ) {
$vars = array_merge( $vars, array(
‘meta_key’ => ‘セミナー日付’,
‘orderby’ => ‘meta_value’
));
}
return $vars;
}
add_filter( ‘request’, ‘column_orderby_custom’ );function posts_register_sortable( $sortable_column ) {
$sortable_column[‘セミナー日付’] = ‘セミナー日付’;
return $sortable_column;
}
add_filter( ‘manage_edit-[seminor]_sortable_columns’, ‘posts_register_sortable’ );————
seminor_dateという文字列をどこかに入れるべきなのかもわからないんですが、
試してみるものの、上手くいかず。。
※ヘルプの必要なページへのリンクに管理画面の画像がございます。管理画面をセミナー日付で並び替えすることが最低減の目標で、
欲を言えば、2つ日付が並ぶのが大変わかりにくいので…公開日付でのソートは非表示として出力自体を無くしてしまいたいです。
念のため長くなるのでですが、どのような記述で、セミナー日付と時間などを管理画面に入れてるかも、下記に記述しておきます。
どうか助けてください。。–以下、functions.phpへの記入(現状管理画面で問題なく反映されてる内容です:column_orderby_custom関数の直前に)–
function manage_seminors_columns($columns) {
global $post_type;
if( ‘seminor’ == $post_type ) {
$columns[‘seminor_date’] = ‘セミナー日付’;
$columns[‘seminor_time’] = ‘セミナー時間’;
$columns[‘sm-category’] = ‘講座カテゴリー’;
}
return $columns;
}
function add_column($column_name, $post_id) {
//日付表示
if( $column_name == ‘seminor_date’ ) {
echo date(‘Y年m月d日’, strtotime(get_post_meta($post_id, ‘seminor_start’, true)));
}
//時間表示
if( $column_name == ‘seminor_time’ ) {
//開始時間
$start_time = date(‘H:i’, strtotime(get_post_meta($post_id, ‘seminor_start’, true)));
//終了時間
$end_time = date(‘H:i’, strtotime(get_post_meta($post_id, ‘seminor_end’, true)));
echo $start_time . ‘~’ . $end_time;
}
//カテゴリー表示
if( $column_name == ‘sm-category’ ) {
$terms = get_the_terms($post_id, ‘sm-category’);
foreach ($terms as $key => $value) {
echo attribute_escape($value->name);
//最後以外は「,」を
if (end(array_keys($terms)) != $key) {
echo ‘, ‘;
}
}
}
}add_filter( ‘manage_posts_columns’, ‘manage_seminors_columns’ );
add_action( ‘manage_posts_custom_column’, ‘add_column’, 10, 2 );ヘルプの必要なページ: [リンクを見るにはログイン]
- トピック「管理画面でカスタムフィールドでの日付でソートしたい」には新たに返信することはできません。