소스 정보
- 저장소
- wpgaurav/WordPress-skills
- 최근 소스 활동
- 2026년 3월 30일 16:11
- 감지된 SKILL.md 언어
- 영어
- 스타
- 14
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/wpgaurav/WordPress-skills --skill bricks-hooks명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | bricks-hooks |
| description | Use filters and actions available in Bricks Builder for customization. |
This skill covers all filters and actions available in Bricks Builder for customization.
// Modify any element's controls
add_filter( 'bricks/elements/{element_name}/controls', function( $controls ) {
// Add, modify, or remove controls
$controls['myNewControl'] = [
'tab' => 'content',
'label' => 'My Control',
'type' => 'text',
];
return $controls;
}, 10, 1 );
// Modify element control groups
add_filter( 'bricks/elements/{element_name}/control_groups', function( $groups ) {
$groups['myGroup'] = [
'title' => 'My Group',
'tab' => 'content',
];
return $groups;
}, 10, 1 );
// Modify element scripts
add_filter( 'bricks/elements/{element_name}/scripts', function( $scripts ) {
$scripts[] = 'myCustomScript';
return $scripts;
}, 10, 1 );
// Filter registered elements
add_filter( 'bricks/builder/elements', function( $element_names ) {
// Add custom element
$element_names[] = 'my-custom-element';
// Remove element
$key = array_search( 'testimonials', $element_names );
if ( $key !== false ) {
unset( $element_names[ $key ] );
}
return $element_names;
}, 10, 1 );
// Modify rendered element HTML
add_filter( 'bricks/frontend/render_element', function( $html, $element_instance ) {
if ( $element_instance->name === 'button' ) {
// Wrap button in custom container
$html = '<div class="button-wrapper">' . $html . '</div>';
}
return $html;
}, 10, 2 );
// Modify element render attributes
add_filter( 'bricks/element/render_attributes', function( $attributes, $key, $element ) {
if ( $key === '_root' && $element->name === 'image' ) {
$attributes['class'][] = 'my-image-class';
}
return $attributes;
}, 10, 3 );
// Modify render data output
add_filter( 'bricks/frontend/render_data', function( $content, $post, $area ) {
// $area: 'header', 'content', 'footer'
return $content;
}, 10, 3 );
// Disable SEO meta tags
add_filter( 'bricks/frontend/disable_seo', function( $disable ) {
return true; // Disable Bricks SEO
}, 10, 1 );
// Disable Open Graph tags
add_filter( 'bricks/frontend/disable_opengraph', function( $disable ) {
return true;
}, 10, 1 );
// Modify header attributes
add_filter( 'bricks/header/attributes', function( $attributes ) {
$attributes['data-custom'] = 'value';
return $attributes;
}, 10, 1 );
// Modify content attributes
add_filter( 'bricks/content/attributes', function( $attributes ) {
return $attributes;
}, 10, 1 );
// Modify content tag
( , function( ) {
;
}, , );
( , function( , , , ) {
;
}, , );
( , function( , , , ) {
;
}, , );
( , function( ) {
;
}, , );
( , function( ) {
;
}, , );
( , function( , , ) {
;
}, , );
// Modify posts query args
add_filter( 'bricks/posts/query_vars', function( $query_vars, $settings, $element_id ) {
// Modify query vars
$query_vars['posts_per_page'] = 12;
return $query_vars;
}, 10, 3 );
// Modify terms query args
add_filter( 'bricks/terms/query_vars', function( $query_vars, $settings, $element_id ) {
$query_vars['hide_empty'] = false;
return $query_vars;
}, 10, 3 );
// Modify users query args
add_filter( 'bricks/users/query_vars', function( $query_vars, $settings, $element_id ) {
return $query_vars;
}, 10, 3 );
// Register custom dynamic data providers
add_filter( 'bricks/dynamic_data/register_providers', function( $providers ) {
$providers[] = 'my_custom_provider';
return $providers;
}, 10, 1 );
// Modify templates API data
add_filter( 'bricks/api/get_templates_data', function( $templates_data ) {
return $templates_data;
}, 10, 1 );
// Filter template access
add_filter( 'bricks/get_templates', function( $templates, $args ) {
// $args contains 'site', 'licenseKey', 'password'
return $templates;
}, 10, 2 );
// Modify theme styles
add_filter( 'bricks/theme_styles', function( $styles ) {
return $styles;
}, 10, 1 );
// Modify theme style controls
add_filter( 'bricks/theme_styles/controls', function( $controls ) {
return $controls;
}, 10, 1 );
// Modify theme style control groups
add_filter( 'bricks/theme_styles/control_groups', function( $groups ) {
return $groups;
}, 10, 1 );
// Modify theme style name
add_filter( 'bricks/theme_style_name', function( $name, $theme_style ) {
return $name;
}, 10, 2 );
// Modify control options (button sizes, styles, etc.)
add_filter( 'bricks/setup/control_options', function( $options ) {
// Add custom button size
$options['buttonSizes']['xl'] = 'Extra Large';
// Add custom style
$options['styles']['brand'] = 'Brand';
return $options;
}, 10, 1 );
// Modify image size options
add_filter( 'bricks/builder/image_size_options', function( $sizes ) {
return $sizes;
}, 10, 1 );
// Modify map styles
add_filter( 'bricks/builder/map_styles', function( $styles ) {
$styles['my-style'] = [
'label' => 'My Custom Style',
'value' => '[{"featureType":"all",...}]',
];
return $styles;
}, 10, 1 );
// Modify body attributes
add_filter( 'bricks/body/attributes', function( $attributes ) {
$attributes['data-theme'] = 'dark';
return ;
}, , );
// Add custom condition groups
add_filter( 'bricks/conditions/groups', function( $groups ) {
$groups[] = [
'name' => 'my_conditions',
'label' => 'My Conditions',
];
return $groups;
}, 10, 1 );
// Add custom condition options
add_filter( 'bricks/conditions/options', function( $options ) {
$options[] = [
'key' => 'my_condition',
'group' => 'my_conditions',
'label' => 'My Custom Condition',
'compare' => [
'type' => 'select',
'options' => [
'==' => 'is',
'!=' => 'is not',
],
],
'value' => [
'type' => 'text',
],
];
return $options;
}, 10, 1 );
// Evaluate custom condition
add_filter( 'bricks/conditions/result', function( $result, $condition, $post_id ) {
if ( $condition[] === ) {
= ( , , );
= [] ?? ;
= [] ?? ;
( === ) {
= === ;
} {
= !== ;
}
}
;
}, , );
// Modify popup attributes
add_filter( 'bricks/popup/attributes', function( $attributes, $popup_id ) {
$attributes['data-popup'] = $popup_id;
return $attributes;
}, 10, 2 );
// Modify link CSS selectors for theme styles
add_filter( 'bricks/link_css_selectors', function( $selectors ) {
$selectors[] = '.my-custom-link';
return $selectors;
}, 10, 1 );
// Add additional CSS from elements
add_filter( 'bricks/assets/generate_css_from_element', function( $css_array, $element, $css_type ) {
// Return array of element data to generate CSS from
return $css_array;
}, 10, 3 );
// Custom redirect URL
add_filter( 'bricks/auth/custom_redirect_url', function( $url, $current_path ) {
return $url;
}, 10, 2 );
// Custom login redirect
add_filter( 'bricks/auth/custom_login_redirect', function( $page_id ) {
return $page_id;
}, 10, 1 );
// Custom registration redirect
add_filter( 'bricks/auth/custom_registration_redirect', function( $page_id ) {
return $page_id;
}, 10, 1 );
// Custom lost password redirect
add_filter( 'bricks/auth/custom_lost_password_redirect', function( $page_id ) {
return $page_id;
}, 10, 1 );
// Custom pagination logic
add_filter( 'bricks/pagination/custom_logic', function( $result, $query_settings, $element ) {
return $result;
}, 10, 3 );
// Modify current page
add_filter( 'bricks/pagination/current_page', function( $page, $query_settings, $element ) {
return $page;
}, 10, 3 );
// Modify total pages
add_filter( 'bricks/pagination/total_pages', function( $pages, $query_settings, $element ) {
return $pages;
}, 10, 3 );
// Modify query filter index arguments
add_filter( 'bricks/query_filters/index_args', function( $args, $source, $settings, $type ) {
return $args;
}, 10, 4 );
// Custom indexer for filter source
add_filter( 'bricks/query_filters_indexer/post/{filter_source}', function( $rows, $post, $filter_id, $settings ) {
return $rows;
}, 10, 4 );
// Modify password protection active state
add_filter( 'bricks/password_protection/is_active', function( $active, $template_id, $settings ) {
return $active;
}, 10, 3 );
// Modify cookie expiration
add_filter( 'bricks/password_protection/cookie_expires', function( $expires ) {
return time() + 30 * DAY_IN_SECONDS;
}, 10, 1 );
// Bypass SVG sanitization
add_filter( 'bricks/svg/bypass_sanitization', function( $bypass, $file ) {
// Bypass for trusted sources
if ( strpos( $file, 'trusted-path' ) !== false ) {
return true;
}
return $bypass;
}, 10, 2 );
// Modify allowed font mime types
add_filter( 'bricks/custom_fonts/mime_types', function( $types ) {
$types['woff2'] = 'font/woff2';
return $types;
}, 10, 1 );
// Modify get pages query args
add_filter( 'bricks/ajax/get_pages_args', function( $args ) {
return $args;
}, 10, 1 );
// Modify post title in builder
add_filter( 'bricks/builder/post_title', function( $title, $post_id ) {
return $title;
}, 10, 2 );
// Modify term name in builder
add_filter( 'bricks/builder/term_name', function( $name, $term_id, $taxonomy ) {
return $name;
}, 10, 3 );
// Disable code execution in Code element
add_filter( 'bricks/code/disable_execution', function( $disable ) {
return true; // Disable PHP/JS execution
}, 10, 1 );
// Modify product filter options
add_filter( 'bricks/woocommerce/products_filters/options', function( $options, $settings ) {
return $options;
}, 10, 2 );
// Before rendering data
add_action( 'bricks/frontend/before_render_data', function( $elements, $area ) {
// $area: 'header', 'content', 'footer'
}, 10, 2 );
// After rendering data
add_action( 'bricks/frontend/after_render_data', function( $elements, $area ) {
// Cleanup, logging, etc.
}, 10, 2 );
// Before query loop
add_action( 'bricks/query/before_loop', function( $query_obj, $args ) {
// Setup before loop
}, 10, 2 );
// After query loop
add_action( 'bricks/query/after_loop', function( $query_obj, $args ) {
// Cleanup after loop
}, 10, 2 );
// Query API response
add_action( 'bricks/query/query_api_response', function( $response, $element_id ) {
// Process API response
}, 10, 2 );
// After tags are registered
add_action( 'bricks/dynamic_data/tags_registered', function() {
// Register additional tags
}, 10, 0 );
// Before do_action dynamic data
add_action( 'bricks/dynamic_data/before_do_action', function( $action, $filters, $context, $post ) {
// Before WordPress action execution
}, 10, 4 );
// After do_action dynamic data
add_action( 'bricks/dynamic_data/after_do_action', function( $action, $filters, $context, $post, $value ) {
// After WordPress action execution
}, 10, 5 );
// Custom form action
add_action( 'bricks/form/custom_action', function( $form ) {
// Access form data: $form->get_fields()
// Access settings: $form->settings
}, 10, 1 );
// Specific form action (email, webhook, etc.)
add_action( 'bricks/form/action/{action_name}', function( $form ) {
// Process specific action
}, 10, 1 );
// Before indexing post
add_action( 'bricks/query_filters/index_post/before', function( $post_id ) {
// Before post is indexed
}, 10, 1 );
// Before indexing user
add_action( 'bricks/query_filters/index_user/before', function( $user_id ) {
// Before user is indexed
}, 10, 1 );
// Before setting data source from custom field
add_action( 'bricks/filter_element/before_set_data_source_from_custom_field', function( $element ) {
// Before filter data source is set
}, 10, 1 );
// When CSS file is generated
add_action( 'bricks/generate_css_file', function( $type, $file_name ) {
// $type: 'post', 'theme-styles', 'global-elements', 'global-color-palettes', etc.
// Log, clear cache, etc.
}, 10, 2 );
// Before rendering query page via API
add_action( 'bricks/render_query_page/start', function( $request_data ) {
// Setup before API rendering
}, 10, 1 );
// Before rendering popup content via API
add_action( 'bricks/render_popup_content/start', function( $request_data ) {
// Setup before popup rendering
}, 10, 1 );
// Before rendering query result via API
add_action( 'bricks/render_query_result/start', function( $request_data ) {
// Setup before query result rendering
}, 10, 1 );
// Add "Read More" text to Posts element
add_filter( 'bricks/elements/posts/controls', function( $controls ) {
$controls['readMoreText'] = [
'tab' => 'content',
'group' => 'content',
'label' => esc_html__( 'Read More Text', 'bricks' ),
'type' => 'text',
'default' => 'Read More',
'placeholder' => 'Read More',
];
return $controls;
} );
// Add "Is Weekend" condition
add_filter( 'bricks/conditions/options', function( $options ) {
$options[] = [
'key' => 'is_weekend',
'group' => 'date',
'label' => esc_html__( 'Is Weekend', 'bricks' ),
'compare' => [
'type' => 'select',
'options' => [
'==' => esc_html__( 'Yes', 'bricks' ),
'!=' => esc_html__( 'No', 'bricks' ),
],
],
];
return $options;
} );
add_filter( 'bricks/conditions/result', function( $result, $condition, $post_id ) {
if ( $condition['key'] === 'is_weekend' ) {
$is_weekend = in_array( date( 'N' ), [ 6, 7 ] );
$compare = $condition['compare'] ?? '==';
$result = $compare === ? : ! ;
}
;
}, , );
add_filter( 'bricks/setup/control_options', function( $options ) {
$options['styles']['gradient'] = esc_html__( 'Gradient', 'bricks' );
return $options;
} );
add_action( 'bricks/form/custom_action', function( $form ) {
$fields = $form->get_fields();
// Get specific field
$email = '';
foreach ( $fields as $field ) {
if ( $field['id'] === 'email' ) {
$email = $field['value'];
break;
}
}
// Process form data
// Send to CRM, save to database, etc.
} );
add_filter( 'bricks/posts/query_vars', function( $vars, $settings, $element_id ) {
// Only show posts from last 30 days
$vars['date_query'] = [
[
'after' => '30 days ago',
],
];
return $vars;
}, 10, 3 );
add_filter( 'bricks/element/render_attributes', function( $attributes, $key, $element ) {
if ( $key === '_root' ) {
$attributes['class'][] = 'bricks-element';
$attributes['class'][] = 'element-' . $element->name;
}
return $attributes;
}, 10, 3 );
add_filter( 'bricks/code/disable_execution', function( $disable ) {
if ( ! current_user_can( 'manage_options' ) ) {
return true;
}
return $disable;
} );
| Priority | Use Case |
|---|---|
| 1-9 | Run before most other code |
| 10 | Default priority |
| 11-19 | Run after default |
| 20+ | Run later, useful for overrides |
| 99+ | Run last, final modifications |
if ( class_exists( '\Bricks\Elements' ) ) checks