ホームページ作って独立して生きていく人が読むとピンっとくるかもです

ホームページ作って独立して生きていく

WordPress

WordPressの投稿画面に入力欄を作ってページに反映させるまで

投稿日:

WordPressの投稿画面に独自のメタボックス(入力欄)を作って、そこに入力したものをページに反映するまでを

//タイトル キーワード ディスクリプション

// 固定カスタムフィールドボックス
function add_keydis_fields() {
add_meta_box(
'keydis_setting',//編集画面のHTMLに挿入されるメタボックスのdivのID。必須。
'タイトル キーワード ディスクリプション', //投稿画面の入力部分に表示されるタイトル。
'insert_keydis_fields',//メタボックスの中にHTMLを出力する関数名。
'post',//post(投稿) 、page(ページ) 、link(リンク) 、dashboard(ダッシュボード) 、カスタム投稿タイプ(スラッグ)のいずれかを指定。
'normal'//
);

add_meta_box(
'keydis_setting',//編集画面のHTMLに挿入されるメタボックスのdivのID。必須。
'タイトル キーワード ディスクリプション', //投稿画面の入力部分に表示されるタイトル。
'insert_keydis_fields',//メタボックスの中にHTMLを出力する関数名。
'page',//post(投稿) 、page(ページ) 、link(リンク) 、dashboard(ダッシュボード) 、カスタム投稿タイプ(スラッグ)のいずれかを指定。
'normal'//
);
}
add_action('admin_menu', 'add_keydis_fields');

// カスタムフィールドの入力エリア
function insert_keydis_fields() {
global $post;

//下記に管理画面に表示される入力エリアを作ります。「get_post_meta()」は現在入力されている値を表示するための記述です。
echo 'ページタイトル<br><input type="text" name="title_area" value="'.get_post_meta($post->ID, 'title_area', true).'" size="80" /><br><span class="t12">PCとスマホの両方の検索結果に対応するために、「35文字以内」を目安にtitleタグの文字数を収める</span>';
echo '<br>キーワード<br><input type="text" name="keyword_area" value="'.get_post_meta($post->ID, 'keyword_area', true).'" size="80" /><br>';
echo 'ページディスクリプション<br><textarea name="description_area" cols="80" rows="5">'.get_post_meta($post->ID, 'description_area', true).'</textarea><br><span class="t12">未記入の場合は、記事公開・下書き時に、本文最初の160文字がメタディスクリプションとして自動的に設定されます。「82文字以内」</span>';
}

// カスタムフィールドの値を保存
function save_keydis_fields( $post_id ) {
if(!empty($_POST['title_area'])){ //題名が入力されている場合
update_post_meta($post_id, 'title_area', $_POST['title_area'] ); //値を保存
}else{ //題名未入力の場合
delete_post_meta($post_id, 'title_area'); //値を削除
}

if(!empty($_POST['keyword_area'])){
update_post_meta($post_id, 'keyword_area', $_POST['keyword_area'] );
}else{
delete_post_meta($post_id, 'keyword_area');
}

if(!empty($_POST['description_area'])){
update_post_meta($post_id, 'description_area', $_POST['description_area'] );
}else{
delete_post_meta($post_id, 'description_area');
}
}
add_action('save_post', 'save_keydis_fields');

-WordPress

Copyright© ホームページ作って独立して生きていく , 2024 All Rights Reserved Powered by AFFINGER5.