Wordpress는 "메인 플러그인 파일"을 어떻게 결정합니까?
플러그인 헤더 주석이 포함 된 플러그인의 파일입니다.
/**
* Plugin Name: A fresh example
* Plugin URI: http://example.com
* Description: Foo makes a bar
* Version: 2012-06-14.1426
* Author: John Doe
* Author URI: http://example.com
* TextDomain: your_textdomain
* License: MIT
* LicenseURI: http://www.opensource.org/licenses/mit-license.php
*/
Q1 : 다음과 같이 구성되는 플러그인을 갖는 것이 합법적이고 지원됩니까?
예. 서버가 지원하는 한 모든 디렉토리 구조는 합법적입니다.
Q2 : 그렇다면 워드 프레스는 어떤 플러그인 파일이 메인 플러그인 파일인지 어떻게 결정합니까?
↑ 위 참조
Q3 : PHP 코드가 여러 모듈에 걸쳐있을 때 하위 디렉토리 (위의 예에서 inc /와 같은)를 사용해야합니까?
요구 사항? 아니요. 더 읽기 좋습니다 : 예. 더 쉬운 유지 보수 : 또한 그렇습니다.
Q4 : 메인 플러그인 디렉토리에 최대 하나의 PHP 파일이 있어야합니까?
아뇨.
요약
파일과 디렉토리를 완전히 구성하는 방법은 개인 취향에 달려 있습니다. 더 쉽게 유지 관리하고 다른 개발자가 코드를 단계별로 살펴 보려면 일종의 파일 / 디렉토리 구성을 사용해야합니다.
예
.class.php
수업을 받으면 개인적 으로 확장명을 추가 합니다. 또한 클래스와 똑같이 파일 이름을 지정합니다. 그 이유는 간단합니다. 내 "주 플러그인 파일"-내 bootstrap
클래스는 일반적으로 필요한 모든 항목을로드하는 데 관심이 있습니다.
// inside my PREFIX_bootstrap class:
public static $includes = array(
'settings' => false // Parent class - no need to hook
,'settings_extended' => true // Extending class - hooks static init() on `init` hook
);
public function construct()
{
// The prefix for every class in my plugin
$prefix = 'my_class_prefix_';
foreach ( $this->files as $handle => $hook )
{
require_once plugin_dir_path( __FILE__ )."{$handle}.class.php";
if ( ! $hook )
continue;
$class = $prefix.$handle;
class_exists( $class ) AND add_action( 'init', array( $class, 'init' ), 1 );
}
}
이것은 내 클래스와 파일 이름이 다음과 같이 지정되었음을 의미합니다.
settings.class.php
과 settings_extended.class.php
my_class_prefix_settings
과 my_class_prefix_settings_extended
나는 또한 모든 것을 저장하는 것과 같은 기본적인 디렉토리 구성을 수행합니다. js/css/img
이름이 같은 디렉토리에 파일을 합니다.
어떤 사람들은 (더 큰 플러그인을 위해)이라는 폴더를 사용합니다 inc/includes/assets/extensions/lib/etc.
. 큰 플러그인에만 하위 폴더를 사용하는 것이 좋습니다. 위젯 등과 같은 추가 항목이있는 경우 특정 하위 폴더를 사용할 수 있습니다.
마지막 단어 : 아니오, 당신이 찾은 것은 사실 이 아니며 , 내가 보여준 것들과 같은 것은 권장 사항 일뿐입니다.