>CMS 튜토리얼 >Word누르다 >WordPress를 사용한 대상 지향 개발

WordPress를 사용한 대상 지향 개발

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-02-16 10:26:10686검색

WordPress를 사용한 대상 지향 개발 객체 지향 코드는 어디에나 있고 WordPress는 예외가 아닙니다.

WordPress의 핵심은 데이터베이스의 조작에서 사이트의 모양과 느낌에 이르기까지 모든 것을 제어하는 ​​데 사용되는 일련의 객체/클래스를 기반으로합니다. 이 튜토리얼 전체에서 객체 지향 디자인과 WordPress를 개발할 때 다음과 같은 실제 응용 프로그램에서이를 사용할 수있는 방법을 살펴볼 것입니다.

객체 방향 디자인이 무엇인지 정확히 이해합니다 왜 우리가 객체 지향 설계를 사용해야하는지 논의 그것이 어떻게 작동하는지 보여주는 실제 예제를 검토하십시오.

주 1 : 또한이 튜토리얼은 주로 WordPress 중심 개념을 설명합니다. 따라서 객체 지향 디자인을 완전히 처음 사용하는 경우 PHP 참조 안내서를 통해 OO에 대한 빠른 개요를 얻어야합니다.

. note 2 : 모든 것을 바로 다운로드하고 싶다면 내 Github 저장소에서 소스를 다운로드하고 튜토리얼을 따라 가십시오. 바로 뛰어 들자! 키 테이크 아웃

WordPress 그룹의 객체 지향 설계 (OOD) 관련 기능 및 정보 클래스에 대한 정보, 코드 조직 및 유지 보수 향상. ood는 캡슐화를 통한 더 나은 조직, 상속을 통한 확장 성 및 더 쉬운 코드 재사용 및 관리를위한 모듈성과 같은 이점을 제공합니다. 튜토리얼은 WordPress에서 맞춤형 이벤트 쇼케이스를 만드는 실질적인 예를 제공하여 OOD 원칙의 구현을 보여줍니다. 예제의 주요 단계에는 디렉토리 구조 설정, 클래스 파일 작성 및 사용자 정의 콘텐츠 유형 및 메타 상자 추가 및 표시를위한 기능 구현이 포함됩니다. 가이드는 절차 적 프로그래밍, 조직, 확장 성 및 모듈성에 대한 OOD의 장점을 강조합니다. 튜토리얼은 github에서 소스 코드를 다운로드하기위한 행동 유도 문안으로 결론을 내립니다. 독자들은 WordPress 개발 프로젝트에 시연 된 OOD 개념을 적용하도록 권장합니다.

.

어쨌든 객체 지향 디자인은 무엇입니까?

당신은 다음과 비슷한 것이 있어야합니다 :

나중에 jQuery Time Picker 스크립트와 스타일을이 디렉토리 안에 다운로드하여 배치해야합니다. 지금은 이것에 대해 걱정하지 마십시오.

wordpress 내부에 파일을로드 파일을 설정 한 상태에서는 이제 아동 테마 내부에 포함시켜야합니다.

자녀 테마의 functions.php를 열고 다음 코드를 상단 또는 하단에 배치하십시오.

이것은 우리의 기능을 간략하게 설명하는 메인 클래스 파일을로드합니다. 이 클래스 내에서 우리는 다른 요소와 함께 스크립트와 스타일을 처리합니다.

클래스 개요 생성 event_showcase_class.php라는 클래스 파일에는 이벤트 시스템에 사용되는 대부분의 기능이 포함됩니다. 따라서이 작업을 수행하는 데 필요한 방법과 속성에 대한 기본 개요를 매핑하는 것이 좋습니다. 다음 코드를 클래스 파일에 복사하십시오<pre class="brush:php;toolbar:false">&lt;span&gt;//Theme functions for child theme &lt;/span&gt; &lt;span&gt;//load our event showcase class &lt;/span&gt;&lt;span&gt;$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; &lt;/span&gt;&lt;span&gt;include($event_showcase);&lt;/span&gt;</pre> <through> 프로세스 흐름을 이해할 수 있도록 방법과 속성을 통해 실행하겠습니다. <p> 변수 - 클래스를보다 모듈화하기 위해 몇 가지 변수를 선언합니다 (따라서이 파일을 복사하고 몇 가지 속성을 변경할 수 있으며 클래스가 다른 변경 사항을 처리합니다). </p>. <uctuct> __ construct () - 모든 후크, 필터 및 초기화 코드가 여기에 들어갑니다. <lo> set_directory_value () - 우리가 CSS 또는 JS 디렉토리에 배치 할 파일을 쉽게 Enquue 할 수있는 디렉토리 속성을 정의합니다. <ush ush> check_flush_rewrite_rules () - 콘텐츠 유형을 추가 할 때 예쁜 퍼머 링크의 플러싱을 처리합니다 (새 항목이 작동합니다). <_> enqueue_public_scripts_and_styles () - 대중이 직면 한 스크립트와 스타일을로드합니다 <_> enqueue_admin_scripts_and_styles () - 관리자 스크립트와 스타일을로드합니다 <ont> add_content_type () - 생성하는 새 컨텐츠 유형을 정의합니다 <a> add_meta_boxes_for_content_type () - 새 컨텐츠 유형에 대한 메타 상자를 추가합니다. <unun> display_function_for_content_type_meta_box-추가 정보를 저장할 수 있도록 컨텐츠 유형의 백엔드 관리 인터페이스를 빌드합니다. <ust ust> save_custom_content_type ($ post_id) - 사용자 정의 컨텐츠 유형 (및 메타 정보)의 저장을 처리합니다. <dd> display_additional_meta_data () - 프론트 엔드에 저장된 메타 정보를 표시합니다. <ul> <through> 지금을 살펴보고 이러한 요소를 업데이트하고 코드를 개요 를 설명합니다. <ert> 클래스 속성 <some> 우리는 우리의 방법을 통해 참조 될 수업 상단에 일부 속성을 선언합니다. 이것들의 목적은 그들이이 수업을보다 쉽게 ​​개선하고 향후 기능을 바꾸는 것을 쉽게 만들 수 있다는 것입니다. <uct uct> __ construct () <c> 우리의 __construct 함수는 마법의 기능입니다. 이러한 기능은 클래스가 특정 작업을 수행하기 위해 액세스 할 수있는 특별한 PHP5 기능입니다. <start> 그들 모두는 이름 앞에서 이중 밑줄로 시작하여 모든 클래스 정의에 선택적으로 포함될 수 있습니다. 모든 마법 기능을 이해하는 것은 또 다른 토론에 가장 적합합니다 (여기 마법 기능과 상수에 관한 또 다른 기사가 있습니다). <c> __construct 함수는 클래스가 초기화 되 자마자 호출되므로 트리거 될 첫 번째 함수입니다. 여기에 우리는 모든 후크, 필터 및 시작 로직을 추가하고 있습니다. 다음 코드로 기본 개요를 업데이트하십시오 <li> <thinking> 당신은 add_action이 이전에 본 것과 조금 다르게 보이고 당신이 맞다고 생각할 것입니다. </thinking> </li>. <_> add_action 및 add_filter 호출을 클래스 내에서 호출 할 때는 배열에서 두 번째 인수를 제공해야합니다. 배열의 첫 번째 값은 $이 변수 (클래스 자체를 의미)이고 두 번째는 사용될 함수의 이름입니다 (따옴표로 랩핑). 자세한 내용은 WordPress Codex의 Add_Action 함수에 대한 클래스 각주를 보려면 .<ir ir> set_directory_value () <be> CSS 및 JS를 수용 할 것이므로 파일 디렉토리 URL을 액세스 할 수있는 변수에 저장하는 것이 좋습니다. 당사의 디렉토리 구조는 /conture /event_showcase이지만 구조에 맞게 사용자 정의 할 수 있습니다. <h3> <ush ush> check_flush_rewrite_rules () <add> 사용자 정의 콘텐츠 유형을 추가하기 때문에 예쁜 퍼머 링크를 처리해야합니다. 이 퍼머 링크는 페이지 URL이 덜 추악하게 보이게하는 다시 쓰기입니다 (http://mywebsite.com.au/?p=123 대신 http://mywebsite.com.au/my-event) . <ens> 다시 쓰기는 컨텐츠 유형이 예쁜 형식으로 변환되도록하지만이 재 작성은 비싸고 과도하게 완료하면 사이트 속도를 늦출 수 있습니다. 다시 쓰기는 귀하의 사이트에 영향을 줄 수 있으므로 일반적으로 테마/플러그인 활성화 또는 비활성화에서만 변경됩니다. <not> Permalinks를 수동으로 업데이트하지 않으려면이 기능은 WordPress에게 자동으로 한 번만 수행하도록 요청합니다 (새 콘텐츠 유형이 추가 된 후). 이 기능은 테마 옵션을 통해 웹 사이트를 플러시 해야하는지 확인합니다. 플러시가 필요한 경우 퍼머 링크를 업데이트 한 다음 옵션 값을 False로 설정합니다 (따라서 페이지를로드 할 때마다 한 번만 트리거링). </not></ens></add></ush> </h3> <_> enqueue_public_scripts_and_styles () 이 기능은 프론트 엔드에서 웹 사이트의 스크립트와 스타일의 queuing을 처리합니다. <name> 우리는 다른 플러그인과의 명명 충돌이 없도록 eNqueue 호출에서 컨텐츠 유형의 이름을 사용합니다 (`event_showcase_public_scripts`). <p>. <w w> 우리는 wp_enqueue_style과 wp_enqueue_script를 모두 호출하여 리소스를로드합니다. <the> 우리는 또한 우리의 리소스를로드 할 때 $ content_type_name 속성을 사용합니다. </the></w></p> <_> enqueue_admin_scripts_and_styles () 이 기능은 관리자 백엔드에서 웹 사이트의 스크립트와 스타일의 queuing을 처리합니다. <see> 우리는 콘텐츠 유형에 대한 편집 화면 또는 새 화면에 있는지 확인하고 (오른쪽 페이지에 있지 않을 때 리소스를로드 할 필요가 없음). <w> 우리는 wp_enqueue_style과 wp_enqueue_script를 모두 호출하여 우리의 자원을 공개적으로 직면 함수와 동일하게로드합니다. 이 예에서는 jQuery UI DatePicker (jQuery UI 라이브러리의 일부)와 jQuery UI Time Picker (날짜 선택기와 비슷한 스타일을 갖도록 제작)를 모두 사용하고 있습니다. <the> 위의 링크에서 Time Picker 라이브러리를 다운로드하고 디렉토리에 관련 CSS 및 JS 파일을 포함시킵니다. <pre class="brush:php;toolbar:false">&lt;span&gt;//Theme functions for child theme &lt;/span&gt; &lt;span&gt;//load our event showcase class &lt;/span&gt;&lt;span&gt;$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; &lt;/span&gt;&lt;span&gt;include($event_showcase);&lt;/span&gt;</pre> <ont> add_content_type () <our> 우리는이 기능에서 사용자 정의 콘텐츠 유형을 선언합니다 이 기능은 $ Singular_name, $ plural_name 및 $ content_type_nameproperties를 사용 하여이 새로운 게시물 유형의 등록을 쉽게 할 수 있습니다.<reg> 등록 기능을 구조화하면 이와 같이 몇 가지 정보 만 해결하여 포스트 유형을 쉽게 변경하고 등록 할 수 있음을 의미합니다. <detail> 사용자 정의 콘텐츠 유형 등록에 대한 자세한 내용은 register_post_type 함수의 WordPress Codex를보십시오. <p> <added>이 단계를 추가 한 후에는 백엔드 워드 프레스 메뉴에 새 항목이 추가되었습니다. </added></p> <a> add_meta_boxes_for_content_type () <met> 우리는 여기에 콘텐츠 유형에 필요한 메타 상자를 추가합니다. add_meta_box 함수를 호출하여 기능을 제공합니다. 짧은 이야기는 이것을 사용하여 저장하려는 새로운 양식 요소를 보유하기 위해 새 관리 상자를 만들었다는 것입니다. <p> <un un> display_function_for_content_type_meta_box ($ post) <function> 우리는이 기능을 사용하여 콘텐츠 유형의 새로운 메타 정보에 대한 백엔드 옵션을 출력합니다. 이 예를 들어, 우리는 최종 사용자에게 보여줄 이벤트에 대한 날짜, 시간 및 기타 정보를 수집합니다. <collect> 우리는 모든 추가 포스트 메타를 변수로 수집하고 HTML 양식의 출력을 표시하는 것으로 시작합니다. 이 필드 중 일부는 날짜 선택기 인터페이스를 트리거하고 다른 필드는 시간 선택기를 트리거합니다 (요소에 사용 된 클래스에 의해 결정됨). <we> 또한이 페이지에서 요청이 온 경우 저장을 확인할 수 있도록 Nonce 필드를 설정했습니다. </we></collect></function></un></p> <done>이 단계를 모두 마치면 새로운 빈 메타 상자가 변형되었으며 이제 새로운 정보를 모두 보유 할 수 있습니다. <pre class="brush:php;toolbar:false">&lt;span&gt;//Theme functions for child theme &lt;/span&gt; &lt;span&gt;//load our event showcase class &lt;/span&gt;&lt;span&gt;$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; &lt;/span&gt;&lt;span&gt;include($event_showcase);&lt;/span&gt;</pre> save_custom_content_type ($ post_id) <we> 여기에 사용자 정의 컨텐츠 유형에 대한 추가 메타 데이터를 저장하는 곳입니다. <p> <for> 우리는 먼저 메타 상자에 추가 한 Nonce를 확인하고 그 진위를 확인합니다. 그 후 우리는 자동 저장을하지 않고 사용자가 실제로이 페이지를 편집 할 수 있는지 확인합니다. 모든 수표가 통과되면 앞으로 나아갑니다. </for></p> <of> 우리는 모든 값을 변수로 수집하고 SONITIZE_TEXT_FIELD 기능을 사용하여 소독합니다. 그 후 우리는 데이터를 저장하기 위해 update_post_meta 함수를 호출합니다. <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173967277476449.jpg" class="lazy" alt="WordPress를 사용한 대상 지향 개발" > <h3> <d d> display_additional_meta_data () <ays ays>이 기능은 새로운 콘텐츠 유형 (단일 이벤트)의 단일 게시물에 대한 저장된 메타 정보를 표시합니다. <a> 우리는 __construct 함수 내부에서 display_content_type_meta라는 새로운 조치를 정의했습니다. </a></ays></d> </h3> 이 동작의 두 번째 값을 display_additional_meta_data라고 하며이 함수에 해당합니다. 이것은 누군가가 do_action ( 'display_content_type_meta')을 호출 할 때마다; 이 기능을 호출하고 새로운 포스트 메타 정보를 표시합니다. <p><do> 당신은 do_action ( 'display_content_type_meta')을 호출 할 수 있습니다. 테마 내부의 어느 곳에서나 (이 컨텐츠 유형의 단일 게시물에있는 한) 메타 정보가 표시됩니다. <p> <a> 나는 213의 부모 테마를 사용하고 있으므로 내 디스플레이를 위해 어린이 테마의 content.php에 연결하고 있습니다. 이 기능은 Global $ post 및 $ post_type를 얻고 현재 보는 현재 항목이 새로운 컨텐츠 유형인지 확인합니다. <function> 이후에 함수는 메타 정보를 수집하고이를 표시합니다 (길을 따라 몇 가지 빠른 점검을합니다). </function></a></p> <c c> 추가 파일, CSS 및 JS <p> <bul> 이제 대부분의 기능이 완료되었으므로 CSS 및 JS 파일로 교체하여 일부 스타일과 상호 작용을 빠르게 추가하겠습니다. <ow ow> event_showcase_admin_styles.csss </ow></bul></p> <ow ow> event_showcase_public_styles.css <p> <ow ow> event_showcase_admin_scripts.js </ow></p> <p> <ality> 작업 완료된 기능! <all> 모든 것이 모두 함께 조각되면 추가 메타 데이터로 새로운 '이벤트'를 만들 수 있어야합니다. 이벤트를 볼 때 아래의 내 샘플에 무언가를 볼 수 있습니다 </all></ality></p> <the> 추가 자막, 날짜, 시간 및 티켓 데이터를 볼 수 있습니다. <basic> 이와 같은 기본 게시물 유형을 확장하고 추가 요소를 추가하면 훨씬 대화식이 있고 쉬운 웹 사이트를 관리 할 수 ​​있습니다. 더 이상 사용자는 지저분하고 사용하기 어려울 수있는 콘텐츠 영역을 통해 모든 정보를 추가 할 필요가 없습니다. 이제 인터페이스를 쉽게 관리하기 쉬운 간단합니다. <pre class="brush:php;toolbar:false">&lt;span&gt;//Theme functions for child theme &lt;/span&gt; &lt;span&gt;//load our event showcase class &lt;/span&gt;&lt;span&gt;$event_showcase = get_stylesheet_directory() . '/includes/event_showcase/event_showcase_class.php'; &lt;/span&gt;&lt;span&gt;include($event_showcase);&lt;/span&gt;</pre> <here> 여기서 어디에서 어디에서? <h3>> <have> 이제 객체 지향 디자인의 실질적인 예와 개발을 향상시키는 것이 얼마나 쉬운지를 보았으므로 이러한 기술을 적용하고 더 나은 테마 및 플러그인을 구축 할 수 있습니다. <to> 내 GitHub 페이지 에서이 예제의 소스를 다운로드 한 다음 다가오는 프로젝트에 맞게 변경하거나 추가 기능을 제공하도록 확장 할 수 있습니다. <article>이 기사가 개발 계획을 세우고 객체 지향 방법론이 시간과 노력을 모두 절약 할 수있는 방법을 확인하는 데 도움이되기를 바랍니다. <questions> WordPress를 사용한 객체 지향 개발에 대해 자주 묻는 질문 WordPress의 OP (Object-Oriented Programming)는 무엇입니까? </questions></article></to></have> </h3> WordPress의 OP (Object-Oriented Programming)는 "개체"를 사용하는 프로그래밍 스타일-청사진과 같은 클래스의 인스턴스입니다. 이 객체는 응용 프로그램 및 소프트웨어를 설계하기 위해 서로 상호 작용하는 데 사용됩니다. WordPress의 OOP는 프로그램에 명확한 모듈 식 구조를 제공하기 때문에 유리합니다. 이는 구현 세부 정보가 숨겨져 있고 장치에 명확하게 정의 된 인터페이스가있는 초록 데이터 유형을 정의하는 데 적합합니다. <p>. 객체 지향 프로그래밍은 WordPress의 절차 프로그래밍과 어떻게 다른가요? </p> <h3> </h3> WordPress의 절차 프로그래밍에는 컴퓨터가 작업을 수행하기 위해 단계별로 따라야하는 지침 목록을 작성하는 것이 포함됩니다. 반면에 객체 지향 프로그래밍은 데이터 (객체) 주변의 프로그램과 해당 데이터에 대한 잘 정의 된 인터페이스 세트를 구성합니다. 이 접근법은 더 작고 재사용 가능한 조각으로 나누어 복잡한 애플리케이션을보다 쉽게 ​​관리하고 제어 할 수 있습니다. <p> WordPress 객체 캐시는 무엇입니까? </p> <h3> WordPress 객체 캐시는 WordPress를 향상시키는 시스템입니다. 불필요한 쿼리를 방지하기 위해 메모리에 데이터베이스의 데이터를 저장하여 성능. 이렇게하면 데이터베이스의 하중이 줄어들면서 WordPress의 속도를 크게 높일 수 있습니다. </h3> <p> WordPress의 상자에서 OBJ를 제거하려면 WordPress의 상자에서 OBJ를 제거하려면 사용할 수 있습니다. 객체 캐시 비활성화, 플러그인 사용 또는 코드에서 수동으로 제거하는 것과 같은 다양한 방법. 그러나 사이트를 깨지 않도록 신중하게 수행해야한다는 점에 유의해야합니다. </p> WordPress 테마에서 객체 지향 프로그래밍을 구현하려면 객체 지향 프로그래밍을 구현하려면 어떻게해야합니까? WordPress 테마에서는 functions.php 파일 또는 개별 템플릿 파일 내에서 클래스와 메소드를 정의해야합니다. 그런 다음 이러한 클래스와 방법을 사용하여 객체를 만들 수 있으며, 이는 작업을 수행하기 위해 서로 상호 작용할 수 있습니다. <h3> WordPress에서 객체 지향 프로그래밍을 사용하면 어떤 이점이 있는가? WordPress의 프로그래밍은 몇 가지 이점을 제공합니다. 코드를보다 작고 이해하기 쉽고 유지하기가 더 쉽습니다. 또한 더 적은 코드로보다 복잡한 기능을 만들 수 있습니다. 또한, 더 나은 데이터 분석,보다 정확한 코딩 및 더 빠른 개발이 가능합니다. </h3> 게시물 제목에 나타나는 'obj'는 WordPress에서 의미 하는가? </here></basic></the></ow></c></do></p> 나타나는 'obj'가 나타납니다. WordPress의 게시물 제목에서 일반적으로 플러그인 또는 테마와 충돌 한 결과입니다. 그것은 WordPress의 표준 부분이 아니며 충돌을 식별하고 해결하여 제거 할 수 있습니다. <h3> </h3> WordPress에 대한 객체 지향 프로그래밍을 어떻게 배울 수 있습니까? <p> 배울 수있는 많은 리소스가 있습니다. WordPress의 객체 지향 프로그래밍. 여기에는 온라인 자습서, 코스 및 책이 포함됩니다. OOP 원칙을 사용하여 작성된 WordPress 핵심 코드를 검사하여 배울 수 있습니다. </p> WordPress 개발에 객체 지향 프로그래밍이 필요합니까? <h3> 객체 지향 프로그래밍이 엄격하게 필요하지는 않습니다. WordPress Development, 적극 권장됩니다. OOP 원칙을 사용하면 코드가 더 읽기 쉽고 재사용 가능하며 유지 관리가 더 쉬워 질 수 있습니다. 또한 WordPress 핵심 코드를 더 잘 이해하는 데 도움이 될 수 있습니다. </h3> <object> WordPress 플러그인과 함께 객체 지향 프로그래밍을 사용할 수 있습니까? <h3> </h3> 예, WordPress 플러그인과 함께 객체 지향 프로그래밍을 사용할 수 있습니다. 실제로 많은 WordPress 플러그인은 OOP 원칙을 사용하여 작성됩니다. 이를 통해보다 복잡한 기능이 가능하고 플러그인 코드를 더 쉽게 관리하고 유지 관리 할 수 ​​있습니다.</object></of></we></done></met></a></detail></reg></our></ont></the></w></see></_></name></_></be></ir></_></c></start></c></uct></some></ert></through> </ul> </dd></ust></unun></a></ont></_></_></ush></lo></uctuct></through>

위 내용은 WordPress를 사용한 대상 지향 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.