2018年2月27日火曜日

WP カスタム投稿の設定

初期設定部分
function initstart() {
        register_post_type(
            'slug',/* 投稿タイプのslug */
            array(
              'labels' => array(
                  'name' => __( '表示名' ),
                  'singular_name' => __( '表示名' )
              ),
              'public' => true,
              'menu_position' => 8, // ,メニュー表示場所
              'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes') // 編集時に有効にする項目
            )
        );
}
add_action( 'init', 'initstart' );

カスタム投稿にタクソノミー(カテゴリー)を追加する場合
function initstart() {
        register_taxonomy(
            'slug_cate',  // 追加するタクソノミーのslug 
            'slug',   // 追加する投稿タイプのslug
            array(
                'hierarchical' => true,
                'update_count_callback' => '_update_post_term_count',
                'label' => '表示名', // 表示される名前
                'singular_label' => '表示名', // 表示される名前
                'public' => true,
                'show_ui' => true
            )
        );
}
add_action( 'init', 'initstart' );
最低限、これだけ設定すれば使用ができるようになります。
実際にはこの二つはひとつのfunctionに書くと思います。

カスタムフィールドの入力エリア追加
function add_post_fields() {
    add_meta_box( 'slug', 'スラッグ', 'insert_custom_fields', 'slug', 'normal');
}
add_action('admin_menu', 'add_post_fields');
// カスタムフィールドの入力エリア
function insert_custom_fields() {
    global $post;
    if ($post -> post_type == 'slug') {
        echo '
'; } } // カスタムフィールドの値を保存 function save_custom_fields( $post_id ) { if(!empty($_POST['inputname'])){ update_post_meta($post_id, 'inputname', $_POST['inputname'] ); }else{ delete_post_meta($post_id, 'inputname'); } } add_action('save_post', 'save_custom_fields');

編集時の「投稿の編集」等の文言を変えたい場合
function initstart() {
        global $wp_post_types;
        $labels = &$wp_post_types['slug']->labels;
        $labels->all_items             = '投稿一覧'; // 投稿一覧
        $labels->add_new               = '新規追加'; // 新規追加
        $labels->add_new_item          = '新規投稿を追加'; // 新規投稿を追加
        $labels->edit_item             = '投稿の編集'; // 投稿の編集
        $labels->search_items          = '投稿を検索'; // 投稿を検索
        $labels->not_found             = '投稿が見つかりませんでした。'; // 投稿が見つかりませんでした。
        $labels->not_found_in_trash    = 'ゴミ箱内に投稿が見つかりませんでした。'; // ゴミ箱内に投稿が見つかりませんでした。
        $labels->featured_image        = 'アイキャッチ画像'; // アイキャッチ画像
        $labels->set_featured_image    = 'アイキャッチ画像を設定'; // アイキャッチ画像を設定
        $labels->remove_featured_image = 'アイキャッチ画像を削除'; // アイキャッチ画像を削除
        $labels->use_featured_image    = 'アイキャッチ画像として使用'; // アイキャッチ画像として使用
}
add_action( 'init', 'initstart' );

カスタム投稿一覧表示の時に項目を追加、変更したい場合
function slug_column($columns){
	$columns = array(
        'title' => 'タイトル',
	'slug' => 'スラッグ',
	'date' => '日時'
	);
	return $columns;
}
add_filter( 'manage_edit-slug_columns', 'slug_column');

2018年2月26日月曜日

WP 管理画面の投稿画面のタイトル上部とか文字を表示する方法

タイトル上部に文字を出す。
function title_note($post){
    if($post->post_type == "post"){
        echo "この内容は投稿の編集画面で出ます。";
    }
    echo "この内容は全ての編集画面で出ます。";
}
add_action( 'edit_form_top', title_note );
この内容では投稿ですが、"post"の部分を書き換える事で固定ページ等に変更出来ます。
'edit_form_top'を変更することで、タイトル下部(パーマリンク下)というよりはエディター上部<やエディター下部<にも表示出来ます。
'edit_form_after_title' -> タイトル下部
'edit_form_after_editor' -> エディター下部<
となります。

2018年2月23日金曜日

WP ログイン画面をカスタマイズ

この辺はカスタマイズ案件だと必須に近い項目かも。

ログインロゴを変える場合。CSSで変更してます。
function custom_login_script() { ?>
  <style>
    .login #login h1 a {
      width: 274px;
      height: 63px;
      background: url('https://~') no-repeat 0 0;
    }
  </style>
 <?php }
add_action( 'login_enqueue_scripts', 'custom_login_script' );


タイトルロゴのとび先を変える方法
function login_logo_url() {
    return get_bloginfo( 'url' );
}
add_filter( 'login_headerurl', 'login_logo_url' );
wordpressで設定したTOP画面になります。
get_bloginfo( 'url' )の部分を"https://~"に変更すれば任意のURLに設定もできます。

ロゴのタイトル属性変更(カーソルを当てると表示される名前)
function login_logo_title() {
    return get_option( 'blogname' );
}
add_filter( 'login_headertitle', 'login_logo_title' );

背景などもCSS部分の設定する事で変更出来ます。