is_main_query で簡単に過去のスケジュールまとめ 管理画面も同じくしは公開済みを過去のスケジュールにする。

ファンク

//スケジュールの並び替え
function SortArchive( $query ) {
 //管理画面スルー  
    if ( is_admin() || ! $query->is_main_query() )
        return;
 //こっから
   // if ( $query->is_category() || $query->is_archive() || $query->is_tax() || $query->is_search() ) {
 if($query->is_post_type_archive( 'schedule' )) {
$query->set( 'posts_per_page' , 12); 
$query->set('meta_key', 'schedule_day'); 
$query->set('orderby', array( 'meta_value' => 'ASC') ); 
$query->set('meta_compare' , '>='); 
$query->set('meta_value' , date("Y年m月d日")); 
$query->set('type' , 'DATE'); 
	 
//$query->set( 'meta_key', 'item_sta' );
//$query->set( 'orderby', array( 'meta_value' => 'DESC', 'date' => 'DESC' ) );//新しい デフォ
  
      
        return;
    }
}
add_action( 'pre_get_posts', 'SortArchive' );

//過去の記事の並び替え urlに/?sort=backとする あえて2にして もっかい書く
function SortArchive2( $query ) {
 //管理画面スルー  
    if ( is_admin() || ! $query->is_main_query() )
        return;
 
 if ( $query->is_category() || $query->is_archive() || $query->is_tax() || $query->is_search() ) {
	 	
if ($query->is_search() ) ://method="post" URLが動的
        $sortset = (string)filter_input(INPUT_POST, 'sort');
		else : //method="get"//urlが静的
		$sortset = (string)filter_input(INPUT_GET, 'sort');
		endif;
		
if ( $sortset == 'back' ) {
	 //$query->set( 'orderby', 'date' ); //新しい デフォ
           $query->set('meta_compare' , '<');  //今日より古い記事
			$query->set('orderby', array( 'meta_value' => 'DESC') ); //今日より並べる
}
			return;
        } 
}
add_action( 'pre_get_posts', 'SortArchive2' );

アーカイブースケジュール

<?php $sortset = (string)filter_input(INPUT_GET, 'sort');
if ( $sortset !== 'back' ) :?>
<a href="/スケジュール/?sort=back" style="color:#FFF600">◀ 過去のスケジュールはこちら</a>
<?php endif; ?>

//スケジュールの管理画面の並び替え
function order_posts_in_admin($wp_query) {
    if ( is_admin() && $wp_query->is_main_query() && 'schedule' == $wp_query->get('post_type') ){
// if('draft' == $wp_query->get('post_status')){
            $wp_query->set('orderby', 'ID');
			
			$wp_query->set('meta_key', 'schedule_day'); 
$wp_query->set('orderby', array( 'meta_value' => 'ASC') ); 
$wp_query->set('meta_compare' , '>='); 
$wp_query->set('meta_value' , date("Y年m月d日")); 
$wp_query->set('type' , 'DATE'); 
      //  }
    }
}
add_action('pre_get_posts', 'order_posts_in_admin');


//スケジュールの管理画面の並び替え urlに/? post_status=publish の場合 公開済みの場合に 過去の記事をもってく あえて2にして もっかい書く
function order_posts_in_admin2($wp_query) {
    if ( is_admin() && $wp_query->is_main_query() && 'schedule' == $wp_query->get('post_type') ){
       
		   
	 
	   	$sortset = (string)filter_input(INPUT_GET, 'post_status');//post_status=publishをゲット
		  //$sortset = (string)filter_input(INPUT_POST, 'post_status'); //INPUT_POSTではないらしい
		
	if ( $sortset == 'publish' ) {	
			
			$wp_query->set('meta_key', 'schedule_day'); 
$wp_query->set('orderby', array( 'meta_value' => 'DESC') ); 
$wp_query->set('meta_compare' , '<'); 
$wp_query->set('meta_value' , date("Y年m月d日")); 
$wp_query->set('type' , 'DATE'); 
      }
    }
}
add_action('pre_get_posts', 'order_posts_in_admin2');

カスタムアドミンで調整

.post-type-schedule .subsubsub .count{ display:none}/*カウント消す*/
.post-type-schedule .subsubsub .mine{ display:none}/*所有消す*/

スムーズスクロール こぴぺ

<script>
//スムーズスクロール
jQuery(function(){
   // #で始まるアンカーをクリックした場合に処理
   jQuery('a[href^=#]').click(function() {
	  // スクロールの速度
	  var speed = 400; // ミリ秒
	  // アンカーの値取得
	  var href= jQuery(this).attr("href");
	  // 移動先を取得
	  var target = jQuery(href == "#" || href == "" ? 'html' : href);
	  // 移動先を数値で取得
	  var position = target.offset().top;
	  // スムーススクロール
	  jQuery('body,html').animate({scrollTop:position}, speed, 'swing');
	  return false;
   });
});
</script>

のみ あとJS

固定ページの内容をトップページなどに表示 特定の固定ページのみユーザーに編集

<?php
$page_id = xxx;    //xxxに 固定ページIDを入力
$content = get_page($page_id);
echo $content->post_content;
?>


タイトルを表示
$content = get_page($page_id);
echo “<h2>” . $content->post_title . “</h2>n”;

タイトル+内容
<?php
$page_id = xxx;    //xxxに 固定ページIDを入力
$content = get_page($page_id);
echo “<h2>” . $content->post_title . “</h2>n”;
$content = get_page($page_id);
echo $content->post_content;
?>

http://golden-monkey.info/?p=1193

管理画面

まず、htkのやつはロールエディターとか user role editer とかでおかしくなっちゃったかもしれんで

最初からこのやり方でいく

インフォページをクライアントユーザーにして更新
権限は編集者
ureで
edit_others_pages //他のページは見えない 編集できない
publish_pages //新規ページを公開できない。
のチェックをはずす

以上

あとは管理画面にそのページのダイレクトのリンクをいれてやればOK
メニューエディタで指定のページ