質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

管理画面の記事一覧(カスタム投稿)にてカスタムフィールドを表示させたい

yesma
yesma

総合スコア16

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1回答

0評価

0クリップ

788閲覧

投稿2021/01/18 03:53

WordPressにてテーマ開発をしています。

管理画面にてカスタム投稿の記事一覧にカスタムフィールドの値を表示させたいですが
うまくできず困ってしまったので、ご意見をお願いしたく投稿しました。
別の案件にて同じコードを使用した時は、問題なく表示されたので
バージョンが古いことが関係しているのでしょうか?
サーバーの関係でWordPressのバージョンは変更は難しいです。

バージョン
WordPress 5.1.8

症状
カスタムフィールドの項目名は表示される
指定したカスタムフィールドのkeyの値が表示されない

コードについて
functions.phpのコードと
今回しようしたコードを抜粋したものを記載します。

php

抜粋php //管理画面の投稿一覧にカスタムフィールドを表示 function add_posts_columns( $columns ) { $columns['example'] = 'リンク先設定'; return $columns; } function custom_posts_column( $column_name, $post_id ) { if ( $column_name == 'example' ) { $cf_example = get_post_meta( $post_id, 'url1', true ); echo ( $cf_example ) ? $cf_example : '-'; } } add_filter( 'manage_other_posts_columns', 'add_posts_columns' ); add_action( 'manage_other_custom_column', 'custom_posts_column', 10, 2 );

php

<?php //本体の更新通知を非表示 add_filter("pre_site_transient_update_core", "__return_null"); //アイキャッチ画像 add_theme_support( 'post-thumbnails' ); //デフォルト投稿機能「投稿」を「お知らせ」に変更 function Change_menulabel() { global $menu; global $submenu; $name = 'お知らせ'; $menu[5][0] = $name; $submenu['edit.php'][5][0] = $name.'一覧'; $submenu['edit.php'][10][0] = '新しい'.$name; } function Change_objectlabel() { global $wp_post_types; $name = 'お知らせ'; $labels = &$wp_post_types['post']->labels; $labels->name = $name; $labels->singular_name = $name; $labels->add_new = _x('追加', $name); $labels->add_new_item = $name.'の新規追加'; $labels->edit_item = $name.'の編集'; $labels->new_item = '新規'.$name; $labels->view_item = $name.'を表示'; $labels->search_items = $name.'を検索'; $labels->not_found = $name.'が見つかりませんでした'; $labels->not_found_in_trash = 'ゴミ箱に'.$name.'は見つかりませんでした'; } add_action( 'init', 'Change_objectlabel' ); add_action( 'admin_menu', 'Change_menulabel' ); //権限「投稿者」のメニュー名を非表示 add_action( 'admin_menu', 'remove_menus' ); function remove_menus(){ if( current_user_can( 'author' ) ){ remove_menu_page( 'index.php' ); //ダッシュボード #remove_menu_page( 'edit.php' ); //投稿メニュー #remove_menu_page( 'upload.php' ); //メディア remove_menu_page( 'edit.php?post_type=page' ); //ページ追加 remove_menu_page( 'edit-comments.php' ); //コメントメニュー remove_menu_page( 'themes.php' ); //外観メニュー remove_menu_page( 'plugins.php' ); //プラグインメニュー remove_menu_page( 'tools.php' ); //ツールメニュー remove_menu_page( 'options-general.php' ); //設定メニュー } } /** * 投稿画面から不要な機能を削除します。 */ function remove_post_supports() { #remove_post_type_support( 'post', 'title' ); // タイトル remove_post_type_support( 'post', 'editor' ); // 本文欄 remove_post_type_support( 'post', 'author' ); // 作成者 remove_post_type_support( 'post', 'thumbnail' ); // アイキャッチ remove_post_type_support( 'post', 'excerpt' ); // 抜粋 remove_post_type_support( 'post', 'trackbacks' ); // トラックバック #remove_post_type_support( 'post', 'custom-fields' ); // カスタムフィールド remove_post_type_support( 'post', 'comments' ); // コメント remove_post_type_support( 'post', 'revisions' ); // リビジョン #remove_post_type_support( 'post', 'page-attributes' ); // ページ属性 #remove_post_type_support( 'post', 'post-formats' ); // 投稿フォーマット #unregister_taxonomy_for_object_type( 'category', 'post' ); // カテゴリ unregister_taxonomy_for_object_type( 'post_tag', 'post' ); // タグ } add_action( 'init', 'remove_post_supports' ); //daytona様 High Siderの追加 function high_sider_create_post_type(){ register_post_type('high_sider', array( 'labels' => array( 'name' => 'High Sider', 'singular_name' => 'High Sider', ), 'public' => true, 'menu_position' => 6, 'has_archive' => true, 'hierarchical' => true, 'taxonomies' => array('type01'), 'supports' => array( 'title', 'thumbnail', 'custom-fields' ), ) ); } add_action('init', 'high_sider_create_post_type', 1); //High Siderのカテゴリの追加 function high_sider_create_taxonomies(){ $labels = array( 'name' => 'カテゴリーの追加', 'singular_name' => 'カテゴリーの追加', 'parent' => 0, 'orderby' => 'description' ); register_taxonomy('type01',array('high_sider'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, ) ); } add_action('init', 'high_sider_create_taxonomies', 0); // High Visiの追加 function high_visi_create_post_type(){ register_post_type('high_visi', array( 'labels' => array( 'name' => 'High Visi', 'singular_name' => 'High Visi', ), 'public' => true, 'menu_position' => 6, 'has_archive' => true, 'hierarchical' => true, 'taxonomies' => array('type03'), 'supports' => array( 'title', 'thumbnail', 'custom-fields' ), ) ); } add_action('init', 'high_visi_create_post_type', 1); //High Visiのカテゴリの追加 function high_visi_create_taxonomies(){ $labels = array( 'name' => 'カテゴリーの追加', 'singular_name' => 'カテゴリーの追加', 'parent' => 0, 'orderby' => 'description' ); register_taxonomy('type03',array('high_visi'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, ) ); } add_action('init', 'high_visi_create_taxonomies', 0); // otherの追加 function other_create_post_type(){ register_post_type('other', array( 'labels' => array( 'name' => 'Other', 'singular_name' => 'Other', ), 'public' => true, 'menu_position' => 6, 'has_archive' => true, 'hierarchical' => true, 'taxonomies' => array('type02'), 'supports' => array( 'title', 'thumbnail', 'custom-fields' ), ) ); } add_action('init', 'other_create_post_type', 1); //otherのカテゴリの追加 function other_create_taxonomies(){ $labels = array( 'name' => 'カテゴリーの追加', 'singular_name' => 'カテゴリーの追加', 'parent' => 0, 'orderby' => 'description' ); register_taxonomy('type02',array('other'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, ) ); } add_action('init', 'other_create_taxonomies', 0); //管理画面の投稿一覧にカスタムフィールドを表示 function add_posts_columns( $columns ) { $columns['example'] = 'リンク先設定'; return $columns; } function custom_posts_column( $column_name, $post_id ) { if ( $column_name == 'example' ) { $cf_example = get_post_meta( $post_id, 'url1', true ); echo ( $cf_example ) ? $cf_example : '-'; } } add_filter( 'manage_other_posts_columns', 'add_posts_columns' ); add_action( 'manage_other_custom_column', 'custom_posts_column', 10, 2 );

以上になります。
大変申し訳ないのですが、ご意見お待ちしております。
よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。