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

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

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

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

Q&A

0回答

216閲覧

[wordpress]投稿ページでカスタムフィールドを設置したがプレビューで表示されない。

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

0グッド

0クリップ

投稿2019/12/10 10:25

#wordpressの投稿ページにカスタムフィールドを設置した。

functions.php

function add_sample_fields() { add_meta_box( 'sample_setting', 'サンプルのフィールド', 'insert_sample_fields', 'post', 'normal'); } add_action('admin_menu', 'add_sample_fields'); function insert_sample_fields() { global $post; $output = '<div>'; $output .= '<input type="text" name="sample_name" value="'. get_post_meta($post->ID,'sample_name',true) .'">'; $output .= '</div>'; echo $output; } function save_sample_fields( $post_id ) { if(!empty($_POST['sample_name'])){ update_post_meta($post_id, 'sample_name', $_POST['sample_name'] ); }else{ delete_post_meta($post_id, 'sample_name'); } } add_action('save_post', 'save_sample_fields');

single.php

<div><?php echo get_post_meta($post->ID,'sample_name',true); ?></div>

このような感じで投稿ページの下部にカスタムフィールドが作成された。

##今回困ったこと
カスタムフィールドに値を入れ公開ボタンを押しページを確認したところ問題なくできていた。
しかし、修正したいと思いカスタムフィールドを入力し直してプレビューを確認したのだが
プレビュー画面では何も表示されない。
しかも本番の値までも変わってしまった。

参考にしたページ

https://www.warna.info/archives/2502/

ここら辺が参考になるかと思ったのだがプラグインを使用している場合だったので解決できなかった。

##試したこと
save_sample_fieldsの中の処理で
delete_metaを削除してみたがうまくいかなかった。。。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madone99

2019/12/14 11:48

本番の値が変わったというのは、プレビューと同じ空になったということでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問