タグ: functions.php
  • カスタム投稿タイプの作り方超入門|WordPressで独自コンテンツを管理しよう

    WordPressでは、「投稿」や「固定ページ」以外にも、オリジナルの投稿タイプを作成できることをご存知ですか? たとえば「お知らせ」「実績紹介」「スタッフ紹介」など、自分だけの投稿区分が作れるのがカスタム投稿タイプです。 この記事では、functions.phpにコードを追加するだけで簡単に使えるカスタム投稿タイプの作成方法を、初心者にもわかりやすく解説します。 カスタム投稿タイプとは? デフォルトでは「投稿(post)」と「固定ページ(page)」という2つの投稿タイプがありますが、それに加えて自分だけの投稿タイプを定義できるのがカスタム投稿タイプです。 使い分けることで、管理画面も整理され、コンテンツごとの管理や表示がしやすくなります。 手順:functions.phpにコードを追加 以下のコードを子テーマのfunctions.phpに追加することで、オリジナル投稿タイプを定義できます。 コピー // 「お知らせ」カスタム投稿タイプを追加 function create_news_post_type() { register_post_type('news', array( 'labels' => array( 'name' => 'お知らせ', 'singular_name' => 'お知らせ', ), 'public' => true, 'has_archive' => true, 'menu_position' => 5, 'menu_icon' => 'dashicons-megaphone', 'supports' => array('title', 'editor', 'thumbnail', 'excerpt'), 'rewrite' => array('slug' => 'news'), ) ); } add_action('init', 'create_news_post_type'); 保存後、管理画面のメニューに「お知らせ」という新しい投稿タイプが表示され、通常の投稿と同じように記事が書けるようになります。 コードの主なポイント 'public' => true:サイト上で表示可能にする 'has_archive' => true:一覧ページを持つ 'menu_icon':管理画面で表示されるアイコン 'supports':使用可能な機能(タイトル・本文・アイキャッチなど) カスタム投稿タイプのメリット 投稿と混ざらず、目的別に記事管理ができる 表示テンプレートを分けられる(例:single-news.php など) サイト構造が明確になりSEOにも有利な場合がある 注意点 functions.phpでのミスに注意:編集前にバックアップを取る パーマリンク設定の再保存:追加後は「設定」→「パーマリンク」で保存し直すとURLが正しく動作する 表示テンプレートの用意:必要に応じてsingle-news.phpやarchive-news.phpをテーマに追加 おわりに カスタム投稿タイプを使えば、WordPressでの情報管理がより効率的になります。 今回のコードを応用すれば、「スタッフ紹介」や「商品レビュー」「実績紹介」など、用途に応じたコンテンツ設計ができます。 functions.phpを活用して、自分だけの使いやすいWordPressサイトを作っていきましょう!

  • 投稿一覧に文字数を表示する方法|WordPressカスタマイズ入門

    WordPressの管理画面で、投稿一覧を見ていて「この記事、どのくらいのボリュームだろう?」と思ったことはありませんか? 実は、投稿ごとの文字数を一覧に表示することができます。この記事では、functions.phpを使ったカスタマイズ方法を、初心者でもできるようにわかりやすく解説します。 完成イメージ 管理画面の「投稿一覧」に「文字数」というカラムが追加され、各記事の文字数が一目でわかるようになります。 手順1:子テーマのfunctions.phpを開く テーマを直接編集するとアップデート時に上書きされてしまうので、子テーマを使用していることを確認しましょう。WordPress管理画面から「外観」→「テーマファイルエディター」でfunctions.phpを開きます。 手順2:以下のコードを追記する コピー // 投稿一覧に「文字数」カラムを追加 function add_word_count_column($columns) { $columns['word_count'] = '文字数'; return $columns; } add_filter('manage_posts_columns', 'add_word_count_column'); // カラムに表示する文字数を取得 function show_word_count_column($column_name, $post_id) { if ($column_name === 'word_count') { $content = get_post_field('post_content', $post_id); $count = mb_strlen(strip_tags($content)); echo $count; } } add_action('manage_posts_custom_column', 'show_word_count_column', 10, 2); このコードでは、HTMLタグを除去した本文の文字数をカウントして表示しています。 応用:カスタム投稿タイプにも適用する たとえばnewsというカスタム投稿タイプにも表示させたい場合は、フィルター名を変更して追加します: コピー add_filter('manage_news_posts_columns', 'add_word_count_column'); add_action('manage_news_posts_custom_column', 'show_word_count_column', 10, 2); 注意点 テーマ更新で消えないように:子テーマのfunctions.phpに記述する 不要なときは削除できる:管理画面を壊す心配が少ない軽量なカスタマイズ プラグイン不要:管理画面の動作も軽く保てます おわりに 投稿一覧に文字数が表示されると、リライトやボリューム調整がとても効率的になります。 WordPressの管理画面を少しカスタマイズするだけで、運用のしやすさが大きく変わります。 今後もこうしたfunctions.phpの小ワザを取り入れて、便利な管理画面を作っていきましょう!