Token导航 LogoToken导航TokenDH.com
研究检索只读github未标认证来源可访问许可证需确认审计通过

elementor-hooks元素钩子

Agent Skill

elementor-hooks 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

636

周安装

26

GitHub Stars

3

下载量

204
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:elementor-hooks(元素钩子)
来源仓库:https://github.com/peixotorms/odinlayer-skills
仓库路径:skills/elementor-hooks
安装命令:
npx skills add https://github.com/peixotorms/odinlayer-skills --skill elementor-hooks
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/peixotorms/odinlayer-skills --skill elementor-hooks

简介

elementor-hooks 列出 Elementor 生命周期内可用的 PHP 钩子与事件点。

  • 适用于注册自定义功能、监听特定动作或调试插件交互流程。
  • 通过 npx skills add 命令从 GitHub 安装,需确认仓库权限与网络访问能力。
  • 使用前应核实维护状态及是否涉及文件读写、命令执行等敏感操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Elementor Hooks Reference

1. PHP Action Hooks

Lifecycle

Hook NameParametersDescription
elementor/loadednoneFires when Elementor plugin is loaded, before components initialize. Use for checking Elementor availability.
elementor/initnoneFires when Elementor is fully loaded. Use for registering custom functionality.

Registration

Hook NameParametersDescription
elementor/widgets/registerWidgets_Manager $widgets_managerRegister custom widgets
elementor/controls/registerControls_Manager $controls_managerRegister custom controls
elementor/dynamic_tags/registerDynamic_Tags_Manager $dynamic_tags_managerRegister dynamic tags
elementor/finder/registerCategories_Manager $categories_managerRegister Finder categories
elementor/elements/categories_registeredElements_Manager $elements_managerRegister widget categories
elementor/documents/registerDocuments_Manager $documents_managerRegister document types

Frontend Scripts and Styles

Hook NameParametersDescription
elementor/frontend/after_register_scriptsnoneAfter frontend scripts registered
elementor/frontend/before_register_scriptsnoneBefore frontend scripts registered
elementor/frontend/after_register_stylesnoneAfter frontend styles registered
elementor/frontend/before_register_stylesnoneBefore frontend styles registered
elementor/frontend/after_enqueue_scriptsnoneAfter frontend scripts enqueued
elementor/frontend/before_enqueue_scriptsnoneBefore frontend scripts enqueued
elementor/frontend/after_enqueue_stylesnoneAfter frontend styles enqueued
elementor/frontend/before_enqueue_stylesnoneBefore frontend styles enqueued

Editor Scripts and Styles

Hook NameParametersDescription
elementor/editor/before_enqueue_scriptsnoneBefore editor scripts enqueued
elementor/editor/after_enqueue_scriptsnoneAfter editor scripts enqueued
elementor/editor/after_enqueue_stylesnoneAfter editor styles enqueued
elementor/editor/before_enqueue_stylesnoneBefore editor styles enqueued

Preview Scripts and Styles

Hook NameParametersDescription
elementor/preview/enqueue_scriptsnoneEnqueue scripts in the preview iframe
elementor/preview/enqueue_stylesnoneEnqueue styles in the preview iframe

Widget Rendering

Hook NameParametersDescription
elementor/widget/{$widget_name}/skins_initWidget_Base $widgetRegister custom skins for a widget
elementor/widget/before_render_contentWidget_Base $widgetBefore widget content renders
elementor/frontend/before_renderElement_Base $elementBefore any element renders (all types)
elementor/frontend/after_renderElement_Base $elementAfter any element renders (all types)
elementor/frontend/{$element_type}/before_renderElement_Base $elementBefore specific element type renders
elementor/frontend/{$element_type}/after_renderElement_Base $elementAfter specific element type renders

Element types for {$element_type}: section, column, container, widget

Document and Editor Save

Hook NameParametersDescription
elementor/documents/register_controlsDocument $documentRegister controls for documents/page settings
elementor/editor/after_saveint $post_id, array $editor_dataAfter user saves editor data
elementor/document/before_saveDocument $document, array $dataBefore document saves
elementor/document/after_saveDocument $document, array $dataAfter document saves

CSS File Hooks

Hook NameParametersDescription
elementor/element/parse_cssPost $post_css, Element_Base $elementAdd custom CSS rules to element CSS
elementor/element/before_parse_cssPost $post_css, Element_Base $elementBefore CSS is parsed
elementor/css-file/{$name}/enqueueCSS_File $css_fileWhen a CSS file is enqueued
elementor/core/files/clear_cachenoneWhen CSS cache is cleared

Forms (Pro)

Hook NameParametersDescription
elementor_pro/forms/validationForm_Record $record, Ajax_Handler $ajax_handlerValidate all form fields
elementor_pro/forms/validation/{$field_type}array $field, Form_Record $record, Ajax_Handler $ajax_handlerValidate specific field type
elementor_pro/forms/processForm_Record $record, Ajax_Handler $ajax_handlerAfter fields validated, process form
elementor_pro/forms/process/{$field_type}array $field, Form_Record $record, Ajax_Handler $ajax_handlerProcess specific field type
elementor_pro/forms/new_recordForm_Record $record, Ajax_Handler $ajax_handlerAfter form actions run
elementor_pro/forms/form_submittedForms\Module $moduleWhen form POST received
elementor_pro/forms/mail_sentarray $settings, Form_Record $recordAfter form email sent
elementor_pro/forms/webhooks/response`array\WP_Error $response, Form_Record $record`Handle webhook response

Query (Pro)

Hook NameParametersDescription
elementor/query/{$query_id}WP_Query $query, Widget_Base $widgetFilter Posts/Portfolio widget query. Set Query ID in widget settings.

Other Important Actions

Hook NameParametersDescription
elementor/ajax/register_actionsAjax_Manager $ajax_managerRegister AJAX handlers
elementor/editor/initnoneEditor initialization
elementor/editor/footernoneEditor footer output
elementor/preview/initnonePreview initialization
elementor/kit/register_tabsKit $kitRegister kit (site settings) tabs
elementor/page_templates/canvas/before_contentnoneBefore canvas template content
elementor/page_templates/canvas/after_contentnoneAfter canvas template content
elementor/template-library/after_save_templateint $template_id, array $dataAfter template saved
elementor/element/after_add_attributesElement_Base $elementAfter render attributes added
elementor/experiments/default-features-registeredExperiments_Manager $managerRegister experiments

2. PHP Filter Hooks

Widget Output Filters

Filter NameParametersDescription
elementor/widget/render_contentstring $content, Widget_Base $widgetFilter widget HTML on frontend
elementor/{$element_type}/print_templatestring $template, Widget_Base $widgetFilter widget JS template in preview
elementor/frontend/the_contentstring $contentFilter entire Elementor page output
elementor/frontend/{$element_type}/should_renderbool $should_render, Element_Base $elementControl whether element renders

Document and Config Filters

Filter NameParametersDescription
elementor/document/configarray $config, Document $documentFilter document config
elementor/document/save/dataarray $data, Document $documentFilter data before save
elementor/document/urls/editstring $url, Document $documentFilter edit URL
elementor/document/urls/previewstring $url, Document $documentFilter preview URL
elementor/editor/localize_settingsarray $settingsFilter editor localized settings

Visual Element Filters

Filter NameParametersDescription
elementor/frontend/print_google_fontsbool $printReturn false to disable Google Fonts loading
elementor/shapes/additional_shapesarray $shapesAdd custom shape dividers
elementor/mask_shapes/additional_shapesarray $shapesAdd custom mask shapes
elementor/utils/get_placeholder_image_srcstring $srcChange default placeholder image
elementor/icons_manager/additional_tabsarray $tabsAdd custom icon libraries
elementor/fonts/additional_fontsarray $fontsAdd custom fonts
elementor/controls/animations/additional_animationsarray $animationsAdd custom animations
elementor/divider/styles/additional_stylesarray $stylesAdd custom divider styles

Finder and Template Filters

Filter NameParametersDescription
elementor/finder/categoriesarray $categoriesAdd/modify Finder categories
elementor/template-library/get_templatearray $template_dataFilter template data
elementor/template_library/is_template_supports_exportbool $supports, array $templateControl template export
elementor/files/allow_unfiltered_uploadbool $allowAllow unfiltered file uploads
elementor/files/svg/enabledbool $enabledEnable/disable SVG support

Forms Filters (Pro)

Filter NameParametersDescription
elementor_pro/forms/wp_mail_headersstring $headersFilter form email headers
elementor_pro/forms/wp_mail_messagestring $messageFilter form email body HTML
elementor_pro/custom_fonts/font_displaystring $displayOverride custom fonts font-display value

Other Important Filters

Filter NameParametersDescription
elementor/frontend/builder_content_dataarray $data, int $post_idFilter builder content data
elementor/frontend/assets_urlstring $urlFilter frontend assets URL
elementor/widgets/black_listarray $black_listWidget class blacklist
elementor/element/get_child_typestring $child_type, array $dataFilter allowed child types
elementor/utils/is_post_type_supportbool $support, int $post_id, string $post_typeFilter post type support

3. Injecting Controls

Targeting All Elements

Inject controls into every element using these hooks:

Hook NameParamsUse
elementor/element/before_section_start$element, $section_id, $argsAdd new section before an existing section
elementor/element/after_section_start$element, $section_id, $argsAdd control inside start of existing section
elementor/element/before_section_end$element, $section_id, $argsAdd control inside end of existing section
elementor/element/after_section_end$element, $section_id, $argsAdd new section after an existing section

Targeting Specific Elements

Use {$stack_name} and {$section_id} to target a specific widget and section:

Hook PatternParamsUse
elementor/element/{$stack_name}/{$section_id}/before_section_start$element, $argsAdd section before
elementor/element/{$stack_name}/{$section_id}/after_section_start$element, $argsAdd control at section start
elementor/element/{$stack_name}/{$section_id}/before_section_end$element, $argsAdd control at section end
elementor/element/{$stack_name}/{$section_id}/after_section_end$element, $argsAdd section after

See resources/injecting-controls-examples.md for code examples.


4. JS Frontend Hooks

Frontend hooks use elementorFrontend.hooks (available on the frontend page).

Actions

Hook NameParametersDescription
elementor/frontend/initnoneFrontend initialized
frontend/element_ready/global$scope (jQuery), $ (jQuery)Any element is ready (sections, columns, widgets)
frontend/element_ready/widget$scope (jQuery), $ (jQuery)Any widget is ready
frontend/element_ready/{widgetType.skinName}$scope (jQuery), $ (jQuery)Specific widget+skin is ready (e.g. image.default)

Filters

Hook NameParametersDescription
frontend/handlers/menu_anchor/scroll_top_distanceint scrollTopAdjust scroll distance for menu anchors

See resources/js-hooks-commands.md for code examples.


5. JS Editor Hooks

Editor hooks use elementor.hooks (available inside the Elementor editor).

Actions

Hook NameParametersDescription
panel/open_editor/{elementType}panel, model, viewSettings panel opened for element type (widget, section, column)
panel/open_editor/{elementType}/{elementName}panel, model, viewSettings panel opened for a specific widget name

Filters

Hook NameParametersDescription
elements/context-menu/groupsarray groupsModify right-click context menu groups

See resources/js-hooks-commands.md for code examples.


6. JS Commands API ($e.commands)

The Commands API (since 2.7.0) manages all editor commands. Run commands with $e.run().

Key Methods

MethodParametersReturnsDescription
$e.commands.register()component, command, callbackCommandsRegister a new command
$e.run()string command, object args*Execute a command
$e.commands.getAll()noneObjectGet all registered commands
$e.commands.getCurrent()noneObjectGet currently running commands
$e.commands.is()string commandBooleanCheck if command is currently running
$e.commands.getCurrentArgs()noneObjectGet args of currently running command
$e.commands.getCurrentFirst()noneStringGet first currently running command

Command Types

Base ClassTypePurpose
$e.modules.CommandBaseUser commandsRepresent user actions
$e.modules.CommandInternalBaseInternal commandsFor internal editor use
$e.modules.CommandDataData commandsCommunicate with data/cache/backend

See resources/js-hooks-commands.md for full code examples.


7. JS Components API ($e.components)

MethodParametersReturnsDescription
$e.components.register()ComponentBase componentComponentBaseRegister a component
$e.components.get()string idComponentBaseGet component by namespace
$e.components.getAll()nonearrayGet all components
$e.components.activate()string namespaceActivate a component
$e.components.inactivate()string namespaceDeactivate a component
$e.components.isActive()string namespaceBooleanCheck if component is active
$e.components.getActive()noneObjectGet all active components

A component serves as a namespace that holds commands, hooks, routes, tabs, shortcuts, and utils. Component class files should be named component.js.

See resources/js-hooks-commands.md for code examples.


8. JS Hooks API ($e.hooks)

The $e.hooks API manages hooks that fire before/after commands run via $e.run().

UI Hooks

MethodParameterDescription
$e.hooks.registerUIBefore()HookBase instanceBefore command runs (UI)
$e.hooks.registerUIAfter()HookBase instanceAfter command runs (UI)
$e.hooks.registerUICatch()HookBase instanceWhen command fails (UI)

Data Hooks

MethodParameterDescription
$e.hooks.registerDataDependency()HookBase instanceBefore command (dependency check)
$e.hooks.registerDataAfter()HookBase instanceAfter command runs (data)
$e.hooks.registerDataCatch()HookBase instanceWhen command fails (data)

See resources/js-hooks-commands.md for hook convention code examples and import patterns.


9. Common Patterns

I want to...Use this hook
Register a custom widgetelementor/widgets/register (action)
Register a custom controlelementor/controls/register (action)
Add a widget categoryelementor/elements/categories_registered (action)
Register a dynamic tagelementor/dynamic_tags/register (action)
Enqueue frontend scriptelementor/frontend/after_register_scripts (action)
Enqueue editor scriptelementor/editor/after_enqueue_scripts (action)
Enqueue preview scriptelementor/preview/enqueue_scripts (action)
Add control to existing widgetelementor/element/{widget}/{section}/before_section_end (action)
Add control to page settingselementor/documents/register_controls (action)
Add control to user preferenceselementor/element/editor-preferences/preferences/before_section_end (action)
Modify widget HTML outputelementor/widget/render_content (filter)
Modify widget JS templateelementor/widget/print_template (filter)
Filter entire page outputelementor/frontend/the_content (filter)
Disable Google Fontselementor/frontend/print_google_fonts return false (filter)
Change placeholder imageelementor/utils/get_placeholder_image_src (filter)
Add custom shape dividerselementor/shapes/additional_shapes (filter)
Add custom mask shapeselementor/mask_shapes/additional_shapes (filter)
Validate form data (Pro)elementor_pro/forms/validation (action)
Process form after submit (Pro)elementor_pro/forms/new_record (action)
Filter posts widget query (Pro)elementor/query/{$query_id} (action)
Add CSS rules to elementselementor/element/parse_css (action)
Run code when widget ready (JS)frontend/element_ready/{widget.skin} via elementorFrontend.hooks
Hook into editor panel open (JS)panel/open_editor/{type}/{name} via elementor.hooks
Register editor command (JS)$e.commands.register() or component defaultCommands()
Hook before/after command (JS)$e.hooks.registerUIBefore() / $e.hooks.registerUIAfter()

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.58%
按下载量换算69

Claude

30.09%
按下载量换算61

Cursor

20.2%
按下载量换算41

Gemini CLI

8.94%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills