사용자 정의 메타 상자 템플릿 튜토리얼 시리즈 1부에서는 일련의 필드를 반복하고 다양한 유형의 양식 필드에 필요한 HTML과 함께 각 필드를 출력하는 사용자 정의 메타 상자를 설정하는 방법을 다뤘습니다. 이제 어레이와 스위치 박스에 몇 가지 고급 항목을 추가할 준비가 되었습니다.
방송그룹
라디오 버튼은 체크박스와 같은 켜기/끄기 스위치가 아니라 사용자가 두 가지 옵션 중 적어도 하나를 선택하도록 강제하는 데 사용되므로 실제로 단독으로 사용되지 않습니다. 가장 먼저 해야 할 일은 $custom_meta_fields
배열에 단일 옵션을 추가하는 것입니다.
이 항목을 1부에서 시작한 원본 $custom_meta_fields
배열의 다른 배열 항목에 추가하세요.
이 배열은 셀렉트박스 항목과 거의 동일합니다. 여기에는 기본 태그, 설명 및 고유 ID가 있습니다. 유형을 정의한 다음 옵션 배열을 추가합니다. 나중에 저장된 값을 얻기 위해 저장된 배열을 확인할 것이므로 옵션 키가 옵션 값과 동일한 것이 중요합니다.
으아악이 코드는 메타 박스 스위치의 마지막 "break;" 뒤에 추가됩니다.
- 필드 중첩된 "옵션" 배열의 각 옵션을 반복합니다
- 인라인 조건을 사용하여 저장된 값이 현재 열려 있는 값과 일치하는지 확인하고, true인 경우 "checked" 속성을 출력합니다
- 옵션 값을 라벨의 고유 ID로 사용하세요
- 다음 옵션이 새 줄에 오도록 끝에 개행 문자를 추가하세요
- 설명 필드로 끝납니다. 옵션을 반복할 때
하나를 남겼으므로 앞의 " "는 필요하지 않습니다.
체크박스 그룹
체크박스를 스위치로 사용하는 방법과 여러 옵션 중에서 하나를 선택하는 방법을 다루었지만 동일한 필드에 여러 값을 저장할 수 있기를 원하시나요? 여기가 체크박스 그룹이 유용한 곳입니다.
으아악이를 $custom_meta_fields
배열에 다시 추가하면 고유 ID와 정의된 유형이 있는 유사한 필드와 설정이 거의 동일합니다.
여기서 가장 큰 차이점은 이 데이터를 배열로 저장한다는 것입니다.
- 배열에 정의된 각 옵션을 반복합니다
- 이름 끝에 대괄호를 추가하여 배열에 데이터를 저장합니다: []
- "checked" 속성을 출력하는 인라인 조건에서 "in_array()"를 사용하여 값이 배열 내부에 있는지 확인하세요
- 이전과 동일하게 각 입력에 값을 추가하고 루프를 닫은 후 설명을 출력합니다
카테고리 선택
다양한 목적에 맞게 사용자 정의 분류를 제공할 수 있다는 것은 좋지만 때로는 사용자가 게시물당 하나의 용어만 선택하도록 제한하고 싶을 때도 있습니다. 간단한 해결책은 WordPress가 게시물 작성 페이지에 추가하는 기본 선택 상자를 제거하고 이를 사용자 정의 메타 상자에 선택 상자로 추가하는 것입니다.
으아악이 예에서는 내장된 분류 "카테고리"를 사용하겠습니다. $custom_meta_fields
배열에 추가하세요. "id"가 카테고리 이름과 동일한지 확인하세요.
이 필드를 완벽하게 작동하려면 우리가 설정한 다른 필드보다 더 많은 정보가 필요합니다.
- 선택 상자를 열고 "하나 선택"으로 빈 값을 추가하세요.
- 세트 분류에 대한 모든 용어 가져오기
- 현재 카테고리에 대해 저장된 용어 가져오기
- 각 학기마다 반복을 시작하세요.
- 간단하고 읽기 쉬운 상태를 유지하기 위해 저장된 용어와 일치하면 옵션을 출력하고 그렇지 않으면 일반 옵션을 출력하는 전체 크기 조건문을 사용합니다.
- 루프를 닫고 상자를 선택하면 분류에 대한 정보를 가져와 변수에 저장하려고 합니다.
- 설명 영역을 사용하여 사용자를 분류 용어를 관리할 수 있는 영역으로 연결하는 간단한 방법으로 사용하세요. 우리가 수집한 $taxonomy 정보의 태그를 사용하여 복수형이 올바른지(카테고리 같은 것이 없음) 확인하세요.
기본 카테고리 상자 삭제
사용자 경험이나 데이터 저장 측면에서 충돌 없이 기본 상자를 사용자 정의 선택 상자로 재정의하고 싶기 때문에 화면에서 분류 편집 상자를 제거해야 합니다.
으아악여기에서 $custom_meta_fields
数组来循环遍历每个“tax_select”字段并将其添加到此删除函数中,但单独命名它们可能要简单得多。您需要知道分类框的 div 的 ID,才能正确删除它。在 WordPress Codex 中了解有关 remove_meta_box()
배열을 사용하여 각 "tax_select" 필드를 반복하고 이 삭제 기능에 추가할 수 있지만 개별적으로 이름을 지정하는 것이 훨씬 더 간단할 것입니다. 카테고리 상자를 올바르게 삭제하려면 카테고리 상자의 div ID를 알아야 합니다. WordPress Codex에서 remove_meta_box()
에 대해 자세히 알아보세요.
약관 저장
이 필드의 마지막 단계는 분류가 사용자 정의 필드가 아닌 있는 그대로 저장되었는지 확인하는 것입니다. 이를 위해 이 시리즈의 1부에서 만든 save_custom_meta()
함수를 다시 수정하겠습니다.
먼저 필드 루프에서 건너뜁니다. 다음 줄을 찾으세요:
으아악그런 다음 다음 줄을 추가하세요:
으아악그런 다음 foreach 루프 뒤에 다음을 추가하세요.
으아악이것은 카테고리 선택 필드의 값을 가져와 게시물의 카테고리 용어로 설정합니다.
发布选择
另一个不太可能但有用的字段是通过将 ID 保存在自定义字段中来将另一个帖子与某个帖子关联起来。这非常类似于 CMS,我发现它对于诸如链接幻灯片帖子类型以转到网站上的另一个帖子或页面之类的事情非常有用,只需从下拉菜单中选择它即可。您可以稍后在另一个函数中使用该 ID 查询该帖子,以从该帖子中获取您需要的任何信息。
array( 'label' => 'Post List', 'desc' => 'A description for the field.', 'id' => $prefix.'post_id', 'type' => 'post_list', 'post_type' => array('post','page') )
我们这里有所有常见的嫌疑人,但最后我们添加了一个额外的变量来保存您想要在列表中的帖子类型。您可以在此数组中包含帖子、页面和任何其他自定义帖子类型。
// post_list case 'post_list': $items = get_posts( array ( 'post_type' => $field['post_type'], 'posts_per_page' => -1 )); echo '<select name="'.$field['id'].'" id="'.$field['id'].'"> <option value="">Select One</option>'; // Select One foreach($items as $item) { echo '<option value="'.$item->ID.'"',$meta == $item->ID ? ' selected="selected"' : '','>'.$item->post_type.': '.$item->post_title.'</option>'; } // end foreach echo '</select><br /><span class="description">'.$field['desc'].'</span>'; break;
您可以添加很多选项来过滤此查询,但我们使用的是对设置帖子类型的所有帖子的基本抓取。
- 查询所有帖子
- 打开选择字段并添加空白值
- 循环遍历每个帖子,并将 ID 设置为选项的值,并将标有帖子类型的标题设置为可供选择的显示文本
- 关闭循环和选择字段并添加说明
结论
如果到目前为止您一直在关注本系列的两个部分,那么您的最终盒子应该如下图所示:
我们确实正在填写可重复使用的模板,用于创建可重复的自定义元框字段,并添加了这种高级甚至非正统的字段。我们将在下一篇文章中用一些更棘手但有用的字段(例如日期选择器和图像上传器)来结束该系列。
위 내용은 고급: 재사용 가능한 사용자 정의 메타 상자: 고급 필드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

여전히 인기있는 것은 사용 편의성, 유연성 및 강력한 생태계입니다. 1) 사용 편의성과 간단한 구문은 초보자에게 첫 번째 선택입니다. 2) 웹 개발, HTTP 요청 및 데이터베이스와의 우수한 상호 작용과 밀접하게 통합되었습니다. 3) 거대한 생태계는 풍부한 도구와 라이브러리를 제공합니다. 4) 활성 커뮤니티와 오픈 소스 자연은 새로운 요구와 기술 동향에 맞게 조정됩니다.

PHP와 Python은 웹 개발, 데이터 처리 및 자동화 작업에 널리 사용되는 고급 프로그래밍 언어입니다. 1.PHP는 종종 동적 웹 사이트 및 컨텐츠 관리 시스템을 구축하는 데 사용되며 Python은 종종 웹 프레임 워크 및 데이터 과학을 구축하는 데 사용됩니다. 2.PHP는 Echo를 사용하여 콘텐츠를 출력하고 Python은 인쇄를 사용합니다. 3. 객체 지향 프로그래밍을 지원하지만 구문과 키워드는 다릅니다. 4. PHP는 약한 유형 변환을 지원하는 반면, 파이썬은 더 엄격합니다. 5. PHP 성능 최적화에는 Opcache 및 비동기 프로그래밍 사용이 포함되며 Python은 Cprofile 및 비동기 프로그래밍을 사용합니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
