WordPressでよく使う関数・定数

WordPressでよく使う関数・定数

WordPressの関数・定数まとめ。
get_stylesheet_directory_uri() みたいなよく使うやつから、ちょっと忘れがちな関数、ついでにあんまり使わないけど存在は覚えておきたいも。
カテゴリごとに分けて、引数やPHPコード例も一緒にメモ。

目次

🔧 テンプレート関連

ヘッダー部分の読み込み – get_header()

引数:get_header($name)

使用例:<?php get_header(); ?>

フッター部分の読み込み – get_footer()

引数:get_footer($name)

使用例:<?php get_footer(); ?>

サイドバーの読み込み – get_sidebar()

引数:get_sidebar($name)

使用例:<?php get_sidebar(); ?>

テンプレートパーツの読み込み – get_template_part()

引数:get_template_part($slug, $name)

使用例:<?php get_template_part('content', 'single'); ?>

テンプレートファイルのパス取得 – locate_template()

引数:locate_template($template_names, $load = false, $require_once = true)

使用例:<?php locate_template(['custom.php'], true); ?>

現在のページが特定のテンプレートか判定 – is_page_template()

引数:is_page_template($template = '')

使用例:<?php if ( is_page_template('about.php') ) : ?>

親テーマディレクトリのURL取得 – get_template_directory_uri()

引数:なし

使用例:<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css">

子テーマディレクトリのURL取得 – get_stylesheet_directory_uri()

引数:なし

使用例:<link rel="stylesheet" href="<?php echo get_stylesheet_directory_uri(); ?>/css/style.css">

📁 メニュー関連

ナビゲーションメニューを表示 – wp_nav_menu()

引数:wp_nav_menu(array $args = array())

使用例:<?php wp_nav_menu(array('theme_location' => 'header-menu')); ?>

メニューの項目を取得 – wp_get_nav_menu_items()

引数:wp_get_nav_menu_items($menu, $args = array())

使用例:<?php $items = wp_get_nav_menu_items('header-menu'); ?>

メニュー名からオブジェクトを取得 – wp_get_nav_menu_object()

引数:wp_get_nav_menu_object($menu)

使用例:<?php $menu_obj = wp_get_nav_menu_object('footer-menu'); ?>

指定の位置にメニューが登録されているか – has_nav_menu()

引数:has_nav_menu($location)

使用例:<?php if (has_nav_menu('global')) { /* 表示処理 */ } ?>

登録されているメニュー位置一覧を取得 – get_nav_menu_locations()

引数:なし

使用例:<?php $locations = get_nav_menu_locations(); ?>

📄 投稿・ループ関連

ループ内で投稿があるかの判定 – have_posts()

引数:なし

使用例:<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

投稿データの取得と内部設定 – the_post()

引数:なし

使用例:ループ内で使用(while の中)

投稿タイトルの出力 – the_title()

引数:the_title($before = '', $after = '', $echo = true)

使用例:<?php the_title(); ?>

投稿本文の出力 – the_content()

引数:the_content($more_link_text = null, $strip_teaser = false)

使用例:<?php the_content(); ?>

投稿の抜粋の出力 – the_excerpt()

引数:なし

使用例:<?php the_excerpt(); ?>

投稿のパーマリンクの出力 – the_permalink()

引数:なし

使用例:<a href="<?php the_permalink(); ?>">記事を読む</a>

投稿のパーマリンクURLの取得 – get_the_permalink()

引数:get_the_permalink($post = 0)

使用例:<?php echo get_the_permalink(); ?>

投稿タイトルの取得 – get_the_title()

引数:get_the_title($post = 0)

使用例:<?php echo get_the_title(); ?>

ループ後にグローバル投稿情報をリセット – wp_reset_postdata()

引数:なし

使用例:<?php wp_reset_postdata(); ?>

メインクエリの上書き – query_posts()

引数:query_posts($query)

使用例:<?php query_posts('posts_per_page=5'); ?>

🖋 投稿情報取得

現在の投稿IDの取得 – get_the_ID()

引数:なし

使用例:<?php echo get_the_ID(); ?>

投稿の任意のフィールド値の取得 – get_post_field()

引数:get_post_field($field, $post_id, $context = 'display')

使用例:<?php echo get_post_field('post_name', get_the_ID()); ?>

カスタムフィールド(メタ情報)の取得 – get_post_meta()

引数:get_post_meta($post_id, $key = '', $single = false)

使用例:<?php echo get_post_meta(get_the_ID(), 'custom_key', true); ?>

投稿のカテゴリ情報の取得 – get_the_category()

引数:get_the_category($post_id)

使用例:<?php $cat = get_the_category(); echo $cat[0]->name; ?>

投稿に付与されたタグ情報の取得 – get_the_tags()

引数:get_the_tags($post_id)

使用例:<?php $tags = get_the_tags(); if($tags) foreach($tags as $tag) echo $tag->name; ?>

投稿者名の取得 – get_the_author()

引数:なし

使用例:<?php echo get_the_author(); ?>

投稿者の詳細情報の取得 – get_the_author_meta()

引数:get_the_author_meta($field, $user_id = false)

使用例:<?php echo get_the_author_meta('description'); ?>

投稿日の取得 – get_the_date()

引数:get_the_date($format = '', $post = null)

使用例:<?php echo get_the_date('Y.m.d'); ?>

最終更新日の取得 – get_the_modified_date()

引数:get_the_modified_date($format = '', $post = null)

使用例:<?php echo get_the_modified_date('Y.m.d'); ?>

アイキャッチ画像の有無の判定 – has_post_thumbnail()

引数:has_post_thumbnail($post = null)

使用例:<?php if ( has_post_thumbnail() ) : the_post_thumbnail(); endif; ?>

📁 ファイル・ディレクトリ取得

親テーマのディレクトリパスの取得 – get_template_directory()

引数:なし

使用例:<?php echo get_template_directory(); ?>

子テーマのディレクトリパスの取得 – get_stylesheet_directory()

引数:なし

使用例:<?php echo get_stylesheet_directory(); ?>

親テーマのURLパスの取得 – get_template_directory_uri()

引数:なし

使用例:<?php echo get_template_directory_uri(); ?>

子テーマのURLパスの取得 – get_stylesheet_directory_uri()

引数:なし

使用例:<?php echo get_stylesheet_directory_uri(); ?>

WordPressインストールディレクトリのパスを取得 – get_home_path()

引数:なし

使用例:<?php echo get_home_path(); ?>

アップロードディレクトリのパスを取得 – get_upload_dir()

引数:なし

使用例:<?php echo get_upload_dir(); ?>

アップロードディレクトリのURLを取得 – get_upload_dir()['baseurl']

引数:なし

使用例:<?php echo get_upload_dir()['baseurl']; ?>

テーマURLの取得(get_template_directory_uri() と同様) – get_bloginfo('template_url')

引数:なし

使用例:<?php echo get_bloginfo('template_url'); ?>

スタイルシートURLの取得(get_stylesheet_directory_uri() と同様) – get_bloginfo('stylesheet_url')

引数:なし

使用例:<?php echo get_bloginfo('stylesheet_url'); ?>

テンプレートパートの読み込み – get_template_part()

引数:get_template_part($slug, $name = null)

使用例:<?php get_template_part('content', 'page'); ?>

🔧 設定・オプション管理

WordPressのオプション設定値の取得 – get_option()

引数:get_option($option, $default = false)

使用例:<?php echo get_option('blogname'); ?>

WordPressのオプション設定値の更新 – update_option()

引数:update_option($option, $value)

使用例:<?php update_option('blogname', '新しいサイト名'); ?>

WordPressのオプション設定値の追加 – add_option()

引数:add_option($option, $value, $deprecated = '', $autoload = 'yes')

使用例:<?php add_option('custom_option', 'value'); ?>

WordPressのオプション設定値の削除 – delete_option()

引数:delete_option($option)

使用例:<?php delete_option('custom_option'); ?>

マルチサイトでネットワーク全体のオプション設定値の取得 – get_site_option()

引数:get_site_option($option, $default = false)

使用例:<?php echo get_site_option('site_admins'); ?>

マルチサイトでネットワーク全体のオプション設定値の更新 – update_site_option()

引数:update_site_option($option, $value)

使用例:<?php update_site_option('site_admins', 'new_admin'); ?>

マルチサイトでネットワーク全体のオプション設定値の追加 – add_site_option()

引数:add_site_option($option, $value, $deprecated = '', $autoload = 'yes')

使用例:<?php add_site_option('network_option', 'value'); ?>

マルチサイトでネットワーク全体のオプション設定値の削除 – delete_site_option()

引数:delete_site_option($option)

使用例:<?php delete_site_option('network_option'); ?>

テーマカスタマイザーで設定されたオプションの取得 – get_theme_mod()

引数:get_theme_mod($name, $default = false)

使用例:<?php echo get_theme_mod('background_color', '#ffffff'); ?>

テーマカスタマイザーで設定されたオプションの更新 – set_theme_mod()

引数:set_theme_mod($name, $value)

使用例:<?php set_theme_mod('background_color', '#000000'); ?>

🔗 リンク管理

投稿やページのパーマリンクURLを取得 – get_permalink()

引数:get_permalink($post_id = null)

使用例:<?php echo get_permalink(1); ?>

サイトのURLを取得 – get_site_url()

引数:get_site_url($blog_id = null, $path = '', $scheme = null)

使用例:<?php echo get_site_url(); ?>

WordPressサイトのホームURLを取得 – home_url()

引数:home_url($path = '', $scheme = null)

使用例:<?php echo home_url(); ?>

カテゴリのアーカイブページURLを取得 – get_category_link()

引数:get_category_link($category_id)

使用例:<?php echo get_category_link(3); ?>

タグのアーカイブページURLを取得 – get_tag_link()

引数:get_tag_link($tag_id)

使用例:<?php echo get_tag_link(5); ?>

ユーザーの投稿一覧ページURLを取得 – get_author_posts_url()

引数:get_author_posts_url($author_id)

使用例:<?php echo get_author_posts_url(1); ?>

添付ファイル(画像など)のURLを取得 – wp_get_attachment_url()

引数:wp_get_attachment_url($attachment_id)

使用例:<?php echo wp_get_attachment_url(10); ?>

添付ファイル(画像)の特定サイズのURLを取得 – wp_get_attachment_image_url()

引数:wp_get_attachment_image_url($attachment_id, $size)

使用例:<?php echo wp_get_attachment_image_url(10, 'medium'); ?>

投稿のサムネイル画像IDを取得 – get_post_thumbnail_id()

引数:get_post_thumbnail_id($post_id)

使用例:<?php echo get_post_thumbnail_id(1); ?>

親ページのIDを取得(階層構造の親を取得) – get_ancestors()

引数:get_ancestors($post_id, $post_type)

使用例:<?php print_r(get_ancestors(15, 'page')); ?>

🌍 地域設定・国際化

現在のサイトのロケール(言語設定)を取得 – get_locale()

引数:get_locale()

使用例:<?php echo get_locale(); ?>

ロケール設定を変更 – setlocale()

引数:setlocale($category, $locale = null)

使用例:<?php setlocale(LC_TIME, 'ja_JP'); ?>

サイトの言語情報を取得 – get_bloginfo('language')

引数:get_bloginfo('language')

使用例:<?php echo get_bloginfo('language'); ?>

Polylangプラグイン使用時、現在の言語コードを取得 – pll_current_language()

引数:pll_current_language($full = false)

使用例:<?php echo pll_current_language(); ?>

qTranslateプラグイン使用時、現在の言語コードを取得 – qtrans_getLanguage()

引数:qtrans_getLanguage()

使用例:<?php echo qtrans_getLanguage(); ?>

現在のページが指定された言語かどうかを確認 – is_language()

引数:is_language($lang)

使用例:<?php if(is_language('ja')): ?>

複数言語の翻訳を取得(WPMLなどで利用可能) – get_translations()

引数:get_translations($id)

使用例:<?php echo get_translations(5); ?>

国際化対応の日付を取得(ロケールに合わせた日付表示) – date_i18n()

引数:date_i18n($format, $timestamp = null, $translate = true)

使用例:<?php echo date_i18n('Y年n月j日'); ?>

WordPressのタイムゾーン設定を取得 – get_option('timezone_string')

引数:get_option('timezone_string')

使用例:<?php echo get_option('timezone_string'); ?>

指定されたロケールに一時的に切り替え – switch_to_locale()

引数:switch_to_locale($locale)

使用例:<?php switch_to_locale('ja_JP'); ?>

💻 ユーザー管理

現在ログインしているユーザーのIDを取得 – get_current_user_id()

引数:get_current_user_id()

使用例:<?php echo get_current_user_id(); ?>

現在ログインしているユーザーの情報を取得 – wp_get_current_user()

引数:wp_get_current_user()

使用例:<?php $user = wp_get_current_user(); echo $user->user_login; ?>

ユーザーのメタデータを取得 – get_user_meta()

引数:get_user_meta($user_id, $key, $single = false)

使用例:<?php echo get_user_meta(1, 'nickname', true); ?>

指定されたユーザーが特定の権限を持っているか確認 – user_can()

引数:user_can($user_id, $capability)

使用例:<?php if (user_can(1, 'edit_posts')): ?>

指定した条件でユーザー情報を取得 – get_user_by()

引数:get_user_by($field, $value)

使用例:<?php $user = get_user_by('email', 'user@example.com'); echo $user->user_login; ?>

新しいユーザーを作成 – wp_create_user()

引数:wp_create_user($username, $password, $email)

使用例:<?php wp_create_user('newuser', 'password123', 'newuser@example.com'); ?>

既存のユーザー情報を更新 – wp_update_user()

引数:wp_update_user($user_data)

使用例:<?php $user = get_user_by('id', 1); $user->first_name = 'John'; wp_update_user($user); ?>

指定した条件でユーザー一覧を取得 – get_users()

引数:get_users($args = array())

使用例:<?php $users = get_users(); foreach ($users as $user) { echo $user->user_login; } ?>

現在のユーザーをログアウトさせる – wp_logout()

引数:wp_logout()

使用例:<?php wp_logout(); ?>

指定したユーザーを現在のユーザーとして設定 – wp_set_current_user()

引数:wp_set_current_user($user_id, $user_login = '')

使用例:<?php wp_set_current_user(1); ?>

⚙️ 設定・オプション管理

指定したオプション値を取得 – get_option()

引数:get_option($option, $default = false)

使用例:<?php echo get_option('blogname'); ?>

指定したオプション値を更新 – update_option()

引数:update_option($option, $value)

使用例:<?php update_option('blogname', 'New Site Name'); ?>

指定したオプション値を削除 – delete_option()

引数:delete_option($option)

使用例:<?php delete_option('custom_option'); ?>

サイト全体のオプション値を取得(ネットワークインストールの場合) – get_site_option()

引数:get_site_option($option, $default = false)

使用例:<?php echo get_site_option('site_name'); ?>

サイト全体のオプション値を更新(ネットワークインストールの場合) – update_site_option()

引数:update_site_option($option, $value)

使用例:<?php update_site_option('site_name', 'New Site Name'); ?>

新しいオプションを追加 – add_option()

引数:add_option($option, $value, $deprecated = '', $autoload = 'yes')

使用例:<?php add_option('my_custom_option', 'value'); ?>

個々のサイトに対するオプション値を取得(マルチサイト環境の場合) – get_blog_option()

引数:get_blog_option($blog_id, $option, $default = false)

使用例:<?php echo get_blog_option(1, 'blogname'); ?>

個々のサイトに対するオプション値を更新(マルチサイト環境の場合) – update_blog_option()

引数:update_blog_option($blog_id, $option, $value)

使用例:<?php update_blog_option(1, 'blogname', 'New Blog Name'); ?>

テーマのカスタマイザー設定を取得 – get_theme_mod()

引数:get_theme_mod($name, $default = false)

使用例:<?php echo get_theme_mod('background_color', '#ffffff'); ?>

テーマのカスタマイザー設定を保存 – set_theme_mod()

引数:set_theme_mod($name, $value)

使用例:<?php set_theme_mod('background_color', '#000000'); ?>

🔧 プラグイン・テーマ管理

インストールされている全プラグインの情報を取得 – get_plugins()

引数:get_plugins()

使用例:<?php $plugins = get_plugins(); foreach ($plugins as $plugin) { echo $plugin['Name']; } ?>

プラグインがアクティブかどうかを確認 – is_plugin_active()

引数:is_plugin_active($plugin)

使用例:<?php if (is_plugin_active('plugin-name/plugin-name.php')): ?>

プラグインをアクティブにする – activate_plugin()

引数:activate_plugin($plugin)

使用例:<?php activate_plugin('plugin-name/plugin-name.php'); ?>

プラグインを非アクティブにする – deactivate_plugins()

引数:deactivate_plugins($plugin, $redirect = true, $networkwide = false)

使用例:<?php deactivate_plugins('plugin-name/plugin-name.php'); ?>

テーマがアクティブかどうかを確認 – is_theme_active()

引数:is_theme_active($theme)

使用例:<?php if (is_theme_active('twentytwenty')): ?>

現在使用中のテーマを取得 – get_current_theme()

引数:get_current_theme()

使用例:<?php echo get_current_theme(); ?>

テーマディレクトリのパスを取得 – get_theme_root()

引数:get_theme_root()

使用例:<?php echo get_theme_root(); ?>

現在のテーマの詳細情報を取得 – wp_get_theme()

引数:wp_get_theme()

使用例:<?php $theme = wp_get_theme(); echo $theme->get('Name'); ?>

テーマを切り替える – switch_theme()

引数:switch_theme($new_theme)

使用例:<?php switch_theme('twentytwenty'); ?>

プラグインが非アクティブかどうかを確認 – is_plugin_inactive()

引数:is_plugin_inactive($plugin)

使用例:<?php if (is_plugin_inactive('plugin-name/plugin-name.php')): ?>

🔍 コンテンツ管理

指定したIDの投稿を取得 – get_post()

引数:get_post($post_id, $output = OBJECT, $filter = 'raw')

使用例:<?php $post = get_post(42); echo $post->post_title; ?>

条件に一致する複数の投稿を取得 – get_posts()

引数:get_posts($args)

使用例:<?php $recent_posts = get_posts(array('numberposts' => 5)); foreach ($recent_posts as $post) { echo $post->post_title; } ?>

新しい投稿をデータベースに挿入 – wp_insert_post()

引数:wp_insert_post($postarr, $wp_error = false)

使用例:<?php wp_insert_post(array('post_title' => 'New Post', 'post_content' => 'Post content', 'post_status' => 'publish')); ?>

既存の投稿を更新 – wp_update_post()

引数:wp_update_post($postarr)

使用例:<?php wp_update_post(array('ID' => 42, 'post_title' => 'Updated Title')); ?>

投稿を削除 – wp_delete_post()

引数:wp_delete_post($post_id, $force_delete = false)

使用例:<?php wp_delete_post(42, true); ?>

投稿の本文を取得 – get_the_content()

引数:get_the_content($more_link_text = null)

使用例:<?php echo get_the_content(); ?>

投稿のタイトルを表示 – the_title()

引数:the_title($before = '', $after = '')

使用例:<?php the_title(); ?>

投稿の抜粋を取得 – get_the_excerpt()

引数:get_the_excerpt($post = null)

使用例:<?php echo get_the_excerpt(); ?>

投稿の抜粋を表示 – the_excerpt()

引数:the_excerpt()

使用例:<?php the_excerpt(); ?>

投稿のパーマリンクを取得 – get_the_permalink()

引数:get_the_permalink($post = null)

使用例:<?php echo get_the_permalink(); ?>

📊 メタデータ管理

指定した投稿のメタデータを取得 – get_post_meta()

引数:get_post_meta($post_id, $key = '', $single = false)

使用例:<?php echo get_post_meta(42, 'custom_field_key', true); ?>

投稿のメタデータを更新 – update_post_meta()

引数:update_post_meta($post_id, $key, $value, $previous_value = '')

使用例:<?php update_post_meta(42, 'custom_field_key', 'new_value'); ?>

投稿のメタデータを削除 – delete_post_meta()

引数:delete_post_meta($post_id, $key, $value = '')

使用例:<?php delete_post_meta(42, 'custom_field_key'); ?>

指定した投稿のカスタムフィールドを取得 – get_post_custom()

引数:get_post_custom($post_id)

使用例:<?php $custom_fields = get_post_custom(42); print_r($custom_fields); ?>

投稿に新しいメタデータを追加 – add_post_meta()

引数:add_post_meta($post_id, $key, $value, $unique = false)

使用例:<?php add_post_meta(42, 'new_custom_field', 'value'); ?>

投稿に関連付けられた全メタデータキーを取得 – get_post_meta_keys()

引数:get_post_meta_keys($post_id)

使用例:<?php $meta_keys = get_post_meta_keys(42); print_r($meta_keys); ?>

指定したユーザーのメタデータを取得 – get_user_meta()

引数:get_user_meta($user_id, $key = '', $single = false)

使用例:<?php echo get_user_meta(1, 'user_custom_field', true); ?>

ユーザーのメタデータを更新 – update_user_meta()

引数:update_user_meta($user_id, $key, $value, $previous_value = '')

使用例:<?php update_user_meta(1, 'user_custom_field', 'new_value'); ?>

ユーザーのメタデータを削除 – delete_user_meta()

引数:delete_user_meta($user_id, $key, $value = '')

使用例:<?php delete_user_meta(1, 'user_custom_field'); ?>

🔧 その他の管理

定期的なイベントをスケジュール – wp_schedule_event()

引数:wp_schedule_event($timestamp, $recurrence, $hook, $args = array())

使用例:<?php wp_schedule_event(time(), 'hourly', 'my_cron_hook'); ?>

スケジュールされたイベントをクリア – wp_clear_scheduled_hook()

引数:wp_clear_scheduled_hook($hook, $args = array())

使用例:<?php wp_clear_scheduled_hook('my_cron_hook'); ?>

現在のユーザーIDを取得 – get_current_user_id()

引数:get_current_user_id()

使用例:<?php $user_id = get_current_user_id(); echo $user_id; ?>

フォームのセキュリティ用トークンを作成 – wp_nonce_field()

引数:wp_nonce_field($action = -1, $name = '_wpnonce', $referer = true, $echo = true)

使用例:<?php wp_nonce_field('my_action', 'my_nonce'); ?>

セキュリティトークンをチェック – check_admin_referer()

引数:check_admin_referer($action = -1, $query_arg = '_wpnonce')

使用例:<?php check_admin_referer('my_action', 'my_nonce'); ?>

オプション設定の値を取得 – get_option()

引数:get_option($option, $default = false)

使用例:<?php echo get_option('site_name'); ?>

オプション設定の値を更新 – update_option()

引数:update_option($option, $value)

使用例:<?php update_option('site_name', 'My New Site'); ?>

オプション設定を削除 – delete_option()

引数:delete_option($option)

使用例:<?php delete_option('site_name'); ?>

サイト情報を取得 – get_bloginfo()

引数:get_bloginfo($show = 'name', $filter = 'raw')

使用例:<?php echo get_bloginfo('name'); ?>

リダイレクトを実行 – wp_redirect()

引数:wp_redirect($location, $status = 302)

使用例:<?php wp_redirect('https://example.com'); exit; ?>

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次