Files
roi-theme/wp-content/plugins/thrive-ultimatum/thrive-dashboard/inc/automator/class-tap-elementor.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

80 lines
1.8 KiB
PHP
Executable File

<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-automator
*/
namespace TVE\Dashboard\Automator;
use WP_Query;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class Elementor
*/
class Elementor {
const FORM_SUBMIT_HOOK = 'elementor_pro/forms/process';
public static function init() {
if ( static::exists() ) {
static::hooks();
}
}
public static function hooks() {
add_action( static::FORM_SUBMIT_HOOK, static function ( $form_record ) {
if ( ! empty( $_POST['form_id'] ) ) {
do_action( static::create_dynamic_trigger( static::FORM_SUBMIT_HOOK, strtolower( trim( preg_replace( '/[^A-Za-z0-9-]+/', '-', $_POST['form_id'] ) ) ) ), [ $form_record ] );
}
} );
add_filter( 'td_automator_should_load_file', [ __CLASS__, 'should_load_elementor_files' ], 10, 2 );
add_filter( 'tvd_automator_api_data_sets', [ __CLASS__, 'add_api_data_sets' ], 10, 2 );
}
public static function add_api_data_sets( $sets ) {
$data_sets[] = Elementor_Form_Data::get_id();
return $sets;
}
public static function exists() {
return class_exists( 'ElementorPro\Plugin', false );
}
public static function get_elementor_posts() {
$args = array(
'post_type' => [ 'page', 'elementor_library', 'post' ],
'meta_query' => array(
array(
'key' => '_elementor_data',
'value' => 'form',
'compare' => 'LIKE',
),
),
);
header( 'Content-type: text/html' );
return ( new WP_Query( $args ) )->get_posts();
}
public static function should_load_elementor_files( $load, $filename ) {
if ( strpos( basename( $filename, '.php' ), '-elementor-' ) !== false && ! static::exists() ) {
$load = false;
}
return $load;
}
public static function create_dynamic_trigger( $prefix, $id ) {
return $prefix . '_' . $id;
}
}