WordPress网站制作过滤器速成

  • By 本站 - 2023-04-04 19:18
  • Read:154
WordPress 网站制作中的块很棒。将一些放入页面,按照您喜欢的方式排列它们,您就可以毫不费力地获得一个非常漂亮的登录页面。但是如果 WordPress 中的默认块需要一些调整呢?比如,如果我们可以删除 Cover 块设置中的对齐选项会怎样?或者 Button 块的控件大小如何? 在扩展 WordPress 中核心块的功能时,有很多选择。我们可以向编辑器中的块添加自定义 CSS 类、添加自定义样式或创建块变体。但即使是这些也可能不足以满足您的需求,您会发现自己需要过滤核心块以添加或删除功能,或者从头开始构建一个全新的块。 在我们深入研究之前,我想指出,本文中的代码片段是故意脱离上下文的,以专注于过滤器而不是构建工具和文件结构。如果我包含了过滤器的完整代码,这篇文章将很难理解。话虽如此,我知道对于刚刚开始将代码片段放在哪里或如何运行构建脚本并使整个工作正常进行的人来说,这并不明显。过滤器的概念对 WordPress 来说并不陌生。我们大多数人都熟悉add_filter()PHP 中的函数。它允许开发人员使用钩子修改各种类型的数据。PHP 过滤器的一个简单示例可能如下所示: function filter_post_title( $title ){   return '' . $title . ''; }; add_filter( 'the_title',  'filter_post_title' ); 在此代码段中,我们创建了一个函数,该函数接收表示帖子标题的字符串,然后将其包装在标签中并返回修改后的标题。然后我们add_filter()用来告诉 WordPress 在帖子标题上使用该功能。 JavaScript 过滤器的工作方式类似。有一个名为 JavaScript 的函数addFilter()存在于wp.hooks包中,其工作方式几乎与它的 PHP 兄弟相似。在最简单的形式中,JavaScript 过滤器看起来像这样: function filterSomething(something) {   // Code for modifying something goes here.   return something; } wp.hooks.addFilter( 'hookName', 'namespace', filterSomething ); 看起来很相似,对吧?一个显着的区别是addFilter()将 anamespace作为第二个参数。根据 WordPress 手册,“命名空间唯一标识表单中的回调vendor/plugin/function。” 但是,手册中的示例遵循不同的模式:plugin/what-filter-does或plugin/component-name/what-filter-does。我通常遵循后者,因为它使手柄在整个项目中保持独特。

转载请保留出处及原文地址:/index.php?r=article/Content/index&content_id=858