>  기사  >  CMS 튜토리얼  >  WordPress에 사용자 정의 필드 패널을 추가하는 방법에 대한 간략한 분석

WordPress에 사용자 정의 필드 패널을 추가하는 방법에 대한 간략한 분석

青灯夜游
青灯夜游앞으로
2023-03-06 19:40:311551검색

WordPress에서 사용자 정의 필드 패널을 추가하는 방법은 무엇입니까? 다음 기사에서는 WordPress에 사용자 정의 필드 패널을 추가하는 방법을 소개합니다. 도움이 되길 바랍니다.

WordPress에 사용자 정의 필드 패널을 추가하는 방법에 대한 간략한 분석

WordPress에서 기사를 작성할 때 웹 페이지 설명 및 키워드의 두 가지 메타 태그와 같은 일부 사용자 정의 필드를 자주 사용합니다. 이 두 태그에 대해서는 내가 이전에 작성한 기사를 읽을 수 있습니다. WordPress는 독립적인 설명 및 키워드를 설정합니다

일반적으로 사용자 정의 필드와 해당 값을 추가할 때 수동으로 "사용자 정의 필드" 모듈 드롭다운 상자로 이동하여 해당 필드를 선택한 다음 입력합니다. 값을 제출하고 기다려야 합니다. 짧은 시간 동안은 조금 귀찮은 것 같습니다. 그렇다면 일반적으로 사용되는 사용자 정의 필드에 대해 별도의 패널을 만들고 내용을 직접 입력할 수 있습니까? 기사 태그와 마찬가지로 태그를 별도로 제출하지 않고 직접 추가할 수 있습니다. 대답은 그렇습니다. 렌더링은 다음과 같습니다.

WordPress에 사용자 정의 필드 패널을 추가하는 방법에 대한 간략한 분석

이제 작동 방법을 가르쳐 드리겠습니다. 다음 코드를 모두 현재 테마의 function.php에 넣으십시오

1. 필수 필드 정보를 생성하십시오.

 여기서 각각 _description_value 및 _keywords_value라는 두 개의 사용자 정의 필드를 추가합니다. 여러 사용자 정의 필드를 추가하려는 목적을 달성하기 위해 다음 배열에 여러 요소를 추가할 수 있습니다.

배열의 첫 번째 요소인 name은 사용자 정의 필드의 이름입니다. 이 코드에서 사용자 정의 필드의 이름은 다른 코드와의 충돌을 방지하기 위해 이름 값에 _value를 더한 것입니다. 기본값은 _description_value입니다. 사용자 정의 필드 값의 경우 기사를 게시하고 사용자 정의 필드에 값이 입력되지 않은 경우 기본값은 "Abstract", "Category" 및 "와 같은 사용자 정의 필드 모듈의 제목이 사용됩니다. 기사 편집 페이지의 태그'가 모듈 이름입니다.

$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;);
이제 해야 할 일은 모두 끝났습니다. 이제 테마에서 이 두 개의 사용자 정의 필드를 호출하여 테마 디렉토리 .php에서 헤더를 열 수 있습니다. 앞에 나오는 코드를 사용하면 웹페이지에 대한 설명과 키워드 태그를 사용자 정의할 수 있습니다. 더 구체적인 작업을 보려면 검색 엔진을 사용하세요.

<?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 Tutorial"

위 내용은 WordPress에 사용자 정의 필드 패널을 추가하는 방법에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 ludou.org에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제