PHPackages                             bojaghi/clean-pages - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bojaghi/clean-pages

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bojaghi/clean-pages
===================

워드프레스 플러그인에서 테마와 완전히 무관한 빈 페이지를 운영하게 도와줌니다.

1.1.1(2mo ago)038↓33.3%GPL-2.0-or-laterPHPPHP &gt;=8.0

Since May 5Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/bojaghi/clean-pages)[ Packagist](https://packagist.org/packages/bojaghi/clean-pages)[ Docs](https://github.com/bojaghi/clean-pages)[ RSS](/packages/bojaghi-clean-pages/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (10)Used By (0)

Clean Pages
===========

[](#clean-pages)

워드프레스 플러그인에서 테마와 완전히 무관한 빈 페이지를 운영하게 도와줌니다.

사용법
---

[](#사용법)

아래처럼 설정 배열을 입력하거나,

```
use Bojaghi\CleanPage\CleanPage

new CleanPage([
 /* 설정 배열 */
]);
```

설정을 리턴하는 파일 경로를 입력하세요.

```
use Bojaghi\CleanPage\CleanPage

new CleanPage('/path/to/configuration');
```

객체는 add\_action(), add\_filter()의 콜백 함수에서 생성하지 말고 플러그인의 초기화 코드에 그냥 넣어주세요. 왜나면 CleanPage 클래스가 'init' 또는 다른 액션을 사용할 수 있기 때문입니다.

```
/**
 * Plugin Name: My Plugin
 */

if (!defined('ABSPATH')) {
    exit;
}

require_once __DIR__ . '/vendor/autoload.php';

// 올바른 예
$cleanPage = new Bojaghi\CleanPage\CleanPage('/path/to/config');

// 권장하지 않는 예
add_action( 'init', function () {
    $cleanPage = new Bojaghi\CleanPage\CleanPage('/path/to/config');
});
```

설정법
---

[](#설정법)

아래는 설정 파일의 예시입니다.

```
if (!defined('ABSPATH')) {
    exit;
}

return [
    [
        'name'           => 'my-name',
        'condition'      => function (string $name): bool {},
        'template'       => function (string $name, mixed $body = null) {},
        'before'         => function (string $name) {},
        'body'           => function (string $name) {},
        'after'          => function (string $name) {},
        'login_required' => false,
        'login_url'      => '',
    ],
    /* ... */
    'exit'           => true,
    'priority'       => 9999,
    'show_admin_bar' => false,
];
```

배열 안에 연관배열로 템플릿을 제어합니다. 연관배열은 다음과 같은 키와 값을 가집니다.

- name: 필수. 유일한 문자열을 지정해 주십시오.
- condition: 필수. 콜백 함수를 지정합니다. 이 함수는 템플릿을 사용할지 아닐지를 결정합니다. 불리언을 리턴해야 합니다.
- template: 옵션. 템플릿을 지정합니다.
    - 'condition' 콜백 함수가 참을 리턴할 경우 이 템플릿을 사용합니다.
    - 생략하면 기본값 `CleanPages::callbackTemplate()`가 사용됩니다.
    - 이 값이 문자열이면 파일 경로라고 간주하고 인클루드를 시도합니다.
    - 이 값이 콜백 함수면 호출됩니다. 함수 내에서 직접 출력합니다.
        - 콜백 함수는 2개의 파라미터를 가집니다.
        - 첫번째 파라미터는 문자열이며 'name' 값이 주어집니다.
        - 두번째 파라미터는 콜백 함수이며 'body' 옵션에 지정된 콜백 함수와 일치합니다.
- before: 옵션. 'template' 옵션이 동작하기 전에 호출되는 함수입니다.
- after: 옵션. 'template' 옵션이 동작한 후 호출되는 함수입니다.
- body: 옵션. 기본 템플릿이 사용되는 경우, 이 값이 사용됩니다. body 태그가 열리고 난 후 바로 호출됩니다.
- login\_required: 옵션. true 이면 로그인 체크를 합니다. 기본은 false 입니다.
- login\_url: 옵션. login\_required 옵션이 true 이고, 사용자가 로그인하지 않았을 경우 이동시킬 로그인 주소입니다. lgoin\_url 옵션은 문자열 혹은 콜백 주소가 될 수 있습니다. 기본은 빈 문자열입니다.
    - 문자열은 로그인할 url 입니다. 빈 문자열인 경우, 워드프레스의 기본 로그인 창을 사용합니다. 'redirect\_to'라는 쿼리 파라미터에 현제 URI 가 붙습니다.
    - 콜백은 1개의 문자열을 인자로 받습니다. 이 문자열은 로그인 후 리다이렉트할 URL 입니다. 콜백은 문자열을 리턴해야 합니다.

이 배열에 허용되는 키-값은 다음과 같습니다.

- exit: 불리언입니다. 조건에 맞는 항목을 렌더링한 후 바로 종료합니다. 기본값은 true 입니다.
- priority: CleanPages가 사용하는 'template\_redirect' 액션 콜백의 우선순위를 지정합니다. 기본값은 9999입니다.
- show\_admin\_bar: 페이지에서 어드민 바를 노출할지 결정합니다. 기본값은 false 입니다.

기본 템플릿의 액션과 필터
--------------

[](#기본-템플릿의-액션과-필터)

기본 템플릿은 `CustomPages::callbackTemplate` 메서드에서 찾을 수 있습니다. 여기서 정의된 액션과 필터는 다음과 같습니다.

- 액션: 모두 name을 첫번째 인자로 받습니다.
    - bojaghi/clean-pages/head/begin: head 태그 시작 부분
    - bojaghi/clean-pages/head/end: head 태그 종료
    - bojaghi/clean-pages/body/begin: body 태그 시작 부분
    - bojaghi/clean-pages/body/end: body 태그 종료 부분
- 필터: 2개의 인자를 받습니다. 첫번째는 필터될 내용, 두번재는 name입니다.
    - bojaghi/clean-pages/head/meta/viewport: meta 태그 viewport 설정 (width=device-width, initial-scale=1)
    - bojaghi/clean-pages/body/class: body 클래스 필터

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance86

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Recently: every ~71 days

Total

9

Last Release

68d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8bbfd1d4316ffdccc98504cdbdd210c69a6add7dca21678ad402ccedb3ff4764?d=identicon)[ep6tri](/maintainers/ep6tri)

---

Top Contributors

[![chwnam](https://avatars.githubusercontent.com/u/6630320?v=4)](https://github.com/chwnam "chwnam (10 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bojaghi-clean-pages/health.svg)

```
[![Health](https://phpackages.com/badges/bojaghi-clean-pages/health.svg)](https://phpackages.com/packages/bojaghi-clean-pages)
```

###  Alternatives

[froala/wysiwyg-editor

A beautiful jQuery WYSIWYG HTML rich text editor. High performance and modern design make it easy to use for developers and loved by users.

5.4k306.9k3](/packages/froala-wysiwyg-editor)[rewieer/taskschedulerbundle

Task Scheduler with CRON for Symfony

63242.1k](/packages/rewieer-taskschedulerbundle)[ghoster/module-outofstockatlast

Magento 2.4.x module Sort Out Of Stock Product At last the product list

60122.6k](/packages/ghoster-module-outofstockatlast)[fof/byobu

Well integrated, advanced private discussions.

61105.8k9](/packages/fof-byobu)[flowpack/listable

Tiny extension for listing things

35209.0k7](/packages/flowpack-listable)[snowdog/module-alpaca-components

Components of the Alpaca theme for Magento 2

4582.2k2](/packages/snowdog-module-alpaca-components)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
