ホームページ >CMS チュートリアル >&#&プレス >WordPress にカスタムフィールドパネルを追加する方法の簡単な分析

WordPress にカスタムフィールドパネルを追加する方法の簡単な分析

青灯夜游
青灯夜游転載
2023-03-06 19:40:311582ブラウズ

WordPress にカスタム フィールド パネルを追加するにはどうすればよいですか?以下の記事ではWordPressにカスタムフィールドパネルを追加する方法をご紹介しますので、ご参考になれば幸いです。

WordPress にカスタムフィールドパネルを追加する方法の簡単な分析

## WordPress で記事を書くとき、Web ページの説明とキーワードの 2 つのメタ タグなど、いくつかのカスタム フィールドを使用することがよくあります。以前に書いた記事を読んでください:

WordPress は独立した説明とキーワードを設定します

通常、カスタムフィールドとその値を追加するときは手動で行います。 「カスタム フィールド」モジュールのドロップダウン ボックスに値を入力し、最後に送信してしばらく待ちます。では、これらの一般的に使用されるカスタム フィールド用に別のパネルを作成し、コンテンツを直接入力することは可能でしょうか?記事タグと同様に、タグを個別に送信せずに直接追加できます。答えは「はい、これがレンダリングです:

WordPress にカスタムフィールドパネルを追加する方法の簡単な分析

以下で操作方法を説明します。次のすべてのコードをfunctions.phpに配置します。」

1. 必要なフィールド情報を作成します

ここでは、それぞれ _description_value と _keywords_value という名前の 2 つのカスタム フィールドを追加します。次の配列を指定できます。複数のカスタム フィールドを追加するという目的を達成するために、複数の要素を追加します。

配列の最初の要素 name はカスタム フィールドの名前です。このコードでは、カスタム フィールドの名前は、_description_value などの他のコードとの競合を防ぐために、name 値に _value を加えたものになります。 std は self フィールドのデフォルト値を定義します。記事を公開し、カスタム フィールドに値が入力されていない場合は、デフォルト値が使用されます。title は、「Abstract」、「」などのカスタム フィールド モジュールのタイトルです。記事編集ページの「カテゴリー」と「タグ」はモジュール名です。

$new_meta_boxes =array(
  "description" => array(
    "name" => "_description",
    "std" => "这里填默认的网页描述",
    "title" => "网页描述:"),

  "keywords" => array(
    "name" => "_keywords",
    "std" => "这里填默认的网页关键字",
    "title" => "关键字:"));

2. カスタム フィールド入力ボックスの作成

次のコードは、カスタム フィールドと入力ボックスを作成するために使用されます。コピーするだけです。

function new_meta_boxes() {
  global $post, $new_meta_boxes;

  foreach($new_meta_boxes as $meta_box) {
    $meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);

    if($meta_box_value == "")
      $meta_box_value = $meta_box['std'];

    // 自定义字段标题
    echo&#39;<h3>&#39;.$meta_box[&#39;title&#39;].&#39;</h3>&#39;;

    // 自定义字段输入框
    echo &#39;<textarea cols="60" rows="3" name="&#39;.$meta_box[&#39;name&#39;].&#39;_value">&#39;.$meta_box_value.&#39;</textarea><br />&#39;;
  }
   
  echo &#39;<input type="hidden" name="ludou_metaboxes_nonce" id="ludou_metaboxes_nonce" value="&#39;.wp_create_nonce( plugin_basename(__FILE__) ).&#39;" />&#39;;}

3. カスタム フィールド モジュールの作成

次のコードは、カスタム フィールド モジュールを記事編集ページに追加します。 WordPress のモジュール追加機能

add_meta_box。これは、前の記事 WordPress 記事編集ページで関連モジュールを削除する で行ったこととまったく逆の作業です。

function create_meta_box() {
  if ( function_exists(&#39;add_meta_box&#39;) ) {
    add_meta_box( &#39;new-meta-boxes&#39;, &#39;自定义模块&#39;, &#39;new_meta_boxes&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39; );
  }}

4. 記事データの保存

すべての準備は完了しました。最も重要なことは、カスタム フィールドにデータを保存することです。情報。

function save_postdata( $post_id ) {
  global $new_meta_boxes;
   
  if ( !wp_verify_nonce( $_POST[&#39;ludou_metaboxes_nonce&#39;], plugin_basename(__FILE__) ))
    return;
   
  if ( !current_user_can( &#39;edit_posts&#39;, $post_id ))
    return;
               
  foreach($new_meta_boxes as $meta_box) {
    $data = $_POST[$meta_box[&#39;name&#39;].&#39;_value&#39;];

    if($data == "")
      delete_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, get_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, true));
    else
      update_post_meta($post_id, $meta_box[&#39;name&#39;].&#39;_value&#39;, $data);
   }}

5. 関数を指定されたアクションに接続します

これは最後のステップであり、最も重要なステップです。目的は、関数を指定されたアクション (アクション) に接続して、WordPress プログラムに前に書いた関数を実行させることです:

add_action(&#39;admin_menu&#39;, &#39;create_meta_box&#39;);
add_action(&#39;save_post&#39;, &#39;save_postdata&#39;);
さて、やるべきことはこれだけです。テーマでこれら 2 つのカスタム フィールドを呼び出すには、テキスト エディタを使用してテーマ ディレクトリの header.php を開き、次のコードを にコピーして、Web ページの説明とキーワードをカスタマイズします。より具体的な操作については検索エンジン:

<?phpif (is_single()) {
  // 自定义字段名称为 description_value
  $description = get_post_meta($post->ID, "_description_value", true);

  // 自定义字段名称为 keywords_value
  $keywords = get_post_meta($post->ID, "_keywords_value", true);

  // 去除不必要的空格和HTML标签
  $description = trim(strip_tags($description));
  $keywords = trim(strip_tags($keywords));

  echo &#39;<meta name="description" content="&#39;.$description.&#39;" />
<meta name="keywords" content="&#39;.$keywords.&#39;" />&#39;;
}
?>

推奨学習: 「

WordPress チュートリアル

以上がWordPress にカスタムフィールドパネルを追加する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はludou.orgで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。