WordPress는 놀라운 플랫폼이자 세계에서 가장 인기 있는 콘텐츠 관리 시스템입니다. 이 제목을 붙인 이유는 확장성 때문입니다. 이 시리즈에서는 WordPress를 확장하는 가장 좋은 방법 중 하나인 필터에 대해 알아봅니다.
이 기능의 기본은 Hooks - WordPress용 필터 및 작업입니다. 이것이 없었다면 우리는 WordPress의 진정한 확장성을 활용할 수 없었을 것입니다.
이 시리즈에서는 WordPress를 확장하는 가장 좋은 방법 중 하나인 필터에 대해 알아봅니다. 이 시리즈는 다음 사항에 초점을 맞춘 7부작 시리즈입니다.
핵심에는 수백 개의 WordPress 필터가 있으며, 이 50개의 예제는 그 중 일부(약 10%)일 뿐이므로 시리즈가 마음에 들고 새 필터에 대한 새로운 예제를 제안한다면 부록이 있을 수 있습니다.
어쨌든 이제 워드프레스 필터를 소개할 차례입니다. 시작하자!WordPress 필터란 무엇인가요?
필터는 데이터에 특정 작업을 수행하기 전에 WordPress가 실행 중 특정 지점에서 데이터를 전달하는 기능입니다. 필터는 데이터베이스와 브라우저 사이, 그리고 브라우저와 데이터베이스 사이에 위치하며 WordPress의 대부분의 입력과 출력은 최소한 하나의 필터를 통과합니다. WordPress에서는 기본적으로 일부 필터링을 수행하며 플러그인에서 직접 필터링을 추가할 수 있습니다.따라서 필터는 기본적으로 WordPress에서 웹사이트 데이터를 출력하기 전에 웹사이트 데이터를
처리 하는 기능입니다. Filters는 WordPress의 두 가지 후크 중 하나입니다. 다른 하나는 Actions이며, 이는 또 다른 기사 시리즈의 주제입니다.
복잡한 주제처럼 보이지만 필터(및 동작)는 정말 이해하기 쉽습니다. 저 역시 처음 접했을 때는 겁이 났지만, 얼마나 간단한지 보고 나니 코덱스를 확인하거나 핵심 코드를 파헤치는 것만으로도 수백 가지의 필터와 동작을 익힐 수 있었습니다.꼭 알아야 할 수백 가지 필터가 있습니다. 하지만 먼저, 그것들을 사용하는 방법을 알아야 합니다.
워드프레스에서 필터 사용하기
이 섹션에서는 다음 네 가지 사항에 대해 논의합니다.
글 제목에서 모음을 제거하는 플러그인을 구축한다고 가정해 보겠습니다. "내 게시물 제목에서 모음을 제거"라고 말하는 대신 "내 게시물 제목의 필터에 이 기능(모음 제거)을 연결합니다"라고 말합니다.
복잡한가요? 설마. 다음 예에서는
anything에서 모음을 제거하는 함수를 코딩합니다. 으아악
이 함수는 문자열을 가져와 모음을 제거한 후 반환합니다. 쉽지요? 이제 다음 단계로 넘어가서 필터에 연결해 보겠습니다. $title
으아악
: add_filter()
으아악
10
1
라는 간단한 함수를 사용합니다. 어떻게 작동하는지 살펴보겠습니다: remove_filter()
으아악
와 거의 동일합니다. add_filter()
还有另一个名为 remove_all_filters()
的函数,它只有两个参数($tag
和 $priority
),您可以在其中设置过滤器的名称并设置优先级。顾名思义,它会删除所有与过滤器挂钩的函数。
想知道这些过滤器是如何创建的?有一个名为 apply_filters()
的特殊函数,它围绕核心代码创建数百个过滤器。当然,它可以在核心之外使用,这意味着我们也可以在插件和主题内创建过滤器。
让我们看看它是如何工作的:
<?php apply_filters( $tag, $value, $var1, $var2 /* ...and so on */ ); ?>
add_filter()
挂钩的过滤器函数修改的值。让我们考虑一个例子:假设您编写了一个仅返回 Peter Griffin 的名言的函数:
<?php function peter_griffin_quote() { $quote = "The bird is the word."; return $quote; } ?>如果您想让人们过滤此引用(并保留您的插件代码),您需要使用
apply_filters()
函数,如下所示:
<?php function peter_griffin_quote() { $quote = "The bird is the word."; return apply_filters( 'peter_griffin_quote', $quote ); } ?>这样,另一个开发人员使用您的插件就可以像这样处理您的函数数据:
<?php function change_the_quote( $quote ) { $quote = str_replace( 'bird', 'nerd', $quote ); return $quote; } add_filter( 'peter_griffin_quote', 'change_the_quote' ); ?>
现在,每次运行 peter_griffin_quote()
函数时,Peter 的引用都会略有更改,而无需开发人员编辑您的插件文件。小菜一碟!
如果您需要有关此主题的更多信息,您应该查看 Pippin Williamson 关于 Tuts+ Code 的精彩教程:“使用操作和过滤器编写可扩展插件”。在本教程中,您可以学习如何为您的插件或主题创建过滤器和操作。
您处理得越多,使用滤镜的乐趣就越多。它们有数百种,学习每一种都可以让您更接近成为一名 WordPress 大师。在本系列的下一部分中,我们将了解 10 个 WordPress 过滤器:
login_errors
comment_post_redirect
allowed_redirect_hosts
body_class
locale
sanitize_user
the_content
the_password_form
the_terms
wp_mail_from
我对这个系列感到非常兴奋,希望您能像我一样喜欢它。如果您认为您可以通过建议更多过滤器并要求更多示例来帮助我完成教程,请随时告诉我并通过下面的评论分享您的想法。
如果您喜欢本文中所读的内容,请不要忘记分享!
下一个教程见!
위 내용은 WordPress 필터 소개: 50가지 필터에 대한 종합적인 개요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!