wordpressでカスタムページを作るときのポイントと忘れがちなこと

wordpressでカスタムページを作るときのポイントと忘れがちなこと

WordPressの案件で、最近はカスタムページで対応することが多いです。

何回もやってるのに覚えていられなくてすぐ忘れてしまうカスタムページの作り方といつも本当に忘れることを明日の自分にあててメモしておきます。

自分的パーマリンクの設定はこれでsu.

/%category%/%post_id%.html

ページがリンク切れになってしまうとかで、「おろ?」となった時には
http://www.yusk.org/memo/wp/permalink_custom.html
Yuskさんブログの「パーマリンクのカスタム構造でハマった時の色々まとめ」ページを見たりします。

カスタムページの手順です。さんこうにしたのはこちらとか
カスタム投稿タイプとカスタムタクソノミーをプラグインを使わずに実現する
http://www.yusk.org/memo/wp/custom-post-type_custom-taxonomy.html
WordPressのカスタム投稿タイプでメンバー紹介ページを作成
http://www.webcreatorbox.com/tech/custom-post-type/
WordPressのカスタム投稿タイプを企業サイトに使う場合の(超個人的)決定版

WordPressのカスタム投稿タイプを企業サイトに使う場合の(超個人的)決定版


コードゲットだぜ
http://themergency.com/generators/wordpress-custom-post-types/

functions.phpに足してみます。

/*-- カスタム投稿ページ--------------------------------------------------------------------------*/

/*--------------カスタムメニュー--------------*/

/* ★newsここらから★ */
    $labels = array(
    'name' => _x( 'お知らせ', 'info' ),
    'singular_name' => _x( 'お知らせ', 'info' ),
    'add_new' => _x( '新規作成', 'info' ),
    'add_new_item' => _x( '新しく追加 - お知らせ', 'info' ),
    'edit_item' => _x( '編集 - お知らせ', 'info' ),
    'new_item' => _x( '新規追加 - お知らせ', 'info' ),
    'view_item' => _x( '表示 - お知らせ', 'info' ),
    'search_items' => _x( '検索 - お知らせ', 'info' ),
    'not_found' => _x( 'ページが見つかりません', 'info' ),
    'not_found_in_trash' => _x( 'ゴミ箱にはありません', 'info' ),
    'parent_item_colon' => _x( '新しいお知らせ:', 'info' ),
    'menu_name' => _x( 'お知らせ', 'info' ),
    );
     $args = array(
    'labels' => $labels,
    'hierarchical' => true,
    'supports' => array( 'title', 'editor' ),
    'public' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'menu_position' => 10,
    'show_in_nav_menus' => true,
    'publicly_queryable' => true,
    'exclude_from_search' => false,
    'has_archive' => true,
    'query_var' => true,
    'can_export' => true,
    'rewrite' => true,
    'capability_type' => 'post'
    );
    register_post_type( 'info', $args );

  /* カスタムタクソノミーを定義 */
  register_taxonomy(
    'news_cat',
    'news',
    array(
    'label' => 'カテゴリー',
    'hierarchical' => true,
    'rewrite' => array('slug' => 'news')
    )
  );
  /* カスタムタクソノミーを定義ここまで */
   
  /* 管理画面一覧にカテゴリを表示 */
  function manage_news_columns($columns) {
    $columns['news_category'] = "カテゴリー";
    return $columns;
  }
  function add_news_column($column_name, $post_id){
    if( $column_name == 'news_category' ) {
    //カテゴリー名取得
    if( 'news_category' == $column_name ) {
        $news_category = get_the_term_list($post_id, 'news_cat', '', ', ', '' );
    }
    //該当カテゴリーがない場合「なし」を表示
    if ( isset($news_category) && $news_category ) {
        echo $news_category;
    } else {
        echo __('None');
    }
    }
  }
  add_filter('manage_edit-news_columns', 'manage_news_columns');
  add_action('manage_posts_custom_column',  'add_news_column', 10, 2);
  /* 管理画面一覧にカテゴリを表示ここまで */
   
/* ★newsここまで★ */


/* Rewrite  まとめて記載*/
/* post_id.htmlにRewrite 複数アドレスを置き換えたい場合 参考: http://webpaprika.com/387.html まとめて記載*/
/*---- ここから ----*/
add_action('init', 'myposttype_rewrite');
function myposttype_rewrite() {
    global $wp_rewrite;

    /*お知らせ*/
    $queryarg = 'post_type=info&p=';
    $wp_rewrite->add_rewrite_tag('%info_id%', '([^/]+)',$queryarg);
    $wp_rewrite->add_permastruct('info', '/info/%info_id%.html', false);


}

add_filter('post_type_link', 'myposttype_permalink', 1, 3);

function myposttype_permalink($post_link, $id = 0, $leavename) {
    global $wp_rewrite;
    $post = &get_post($id);
    if ( is_wp_error( $post ) )
        return $post;
    $newlink = $wp_rewrite->get_extra_permastruct($post->post_type);
    $newlink = str_replace('%'.$post->post_type.'_id%', $post->ID, $newlink);
    $newlink = home_url(user_trailingslashit($newlink));
    return $newlink;
}
/*----ここまで----*/

ここkara ここまで のコードでパーマリンクを
/%category%/%post_id%.html
にしたときに書き換えられていい感じのURLになります。

2014年8月のエヴァまつりの放送スケジュール

2014年8月のエヴァまつりの放送スケジュール

2014エヴァまつりの放送スケジュール

日本テレビ 映画天国(月曜深夜映画枠)
8月18日
『EVANGELION:DEATH(TRUE)2』
8月25日
『THE END OF EVANGELION 新世紀エヴァンゲリオン劇場版 Air/まごころを、君に』

日本テレビ系列 金曜ロードSHOW!
8月22日
『ヱヴァンゲリヲン新劇場版:序 TV版』
8月29日
『ヱヴァンゲリヲン新劇場版:破 TV版』
9月5日
『ヱヴァンゲリヲン新劇場版:Q 』+『巨神兵東京に現る 劇場版』

さくらVPS で テーマがインストールできない☆

さくらVPS で テーマがインストールできない☆

エラー☆

要求されたアクションを実行するには、WordPress が Web サーバーにアクセスする必要があります。 次に進むには FTP の接続情報を入力してください。 接続情報が思い出せない場合は、ホスティング担当者に問い合わせてください。

 

解決方法

chown -R apache:apache /var/www/html/
/var/www/html/をアパッチグループが自由にできるように権限を変更。
3回くらい忘れたので書いておく事にしました。