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>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
<?php //phpcs:ignoreFile
use AdvancedAds\Abstracts\Placement;
use AdvancedAds\Utilities\WordPress;
class Advanced_Ads_Pro_Module_Lazy_Load_Admin {
public function __construct() {
add_action( 'advanced-ads-settings-init', [ $this, 'settings_init' ] );
// Render lazy load option.
$options = Advanced_Ads_Pro::get_instance()->get_options();
if ( empty( $options['lazy-load']['enabled'] ) ) {
return;
}
add_action( 'advanced-ads-placement-options-after', [ $this, 'render_lazy_load_option' ], 10, 2 );
}
public function settings_init() {
// add new section
add_settings_field(
'module-lazy-load',
__( 'Lazy Loading', 'advanced-ads-pro' ),
[ $this, 'render_settings' ],
Advanced_Ads_Pro::OPTION_KEY . '-settings',
Advanced_Ads_Pro::OPTION_KEY . '_modules-enable'
);
}
public function render_settings() {
include dirname( __FILE__ ) . '/views/settings.php';
}
/**
* Render lazy load option.
*
* @param string $placement_slug Placement id.
* @param Placement $placement Placement instance.
*/
public function render_lazy_load_option( $placement_slug, $placement ) {
$data = $placement->get_data();
$options = Advanced_Ads_Pro::get_instance()->get_options();
$type_options = $placement->get_type_object()->get_options();
if ( ! empty( $type_options['show_lazy_load'] ) ) {
$checked = 'enabled' === $placement->get_prop( 'lazy_load' ) ? 'enabled' : 'disabled';
$cb_off = empty( $options['cache-busting']['enabled'] ) || ( isset( $data['cache-busting'] ) && Advanced_Ads_Pro_Module_Cache_Busting::OPTION_OFF === $data['cache-busting'] );
ob_start();
require dirname( __FILE__ ) . '/views/setting_lazy_load.php';
$option_content = ob_get_clean();
if ( $cb_off ) {
$cache_busting_text = sprintf(
'%1s (<a href="%2s" target="_blank">%3s</a>)',
__( 'Cache Busting needs to be enabled', 'advanced-ads-pro' ),
esc_url( get_admin_url('/','admin.php?page=advanced-ads-settings#top#pro') ),
__( 'Settings', 'advanced-ads-pro' )
);
}
WordPress::render_option(
'placement-lazy-load',
__( 'Lazy Loading', 'advanced-ads-pro' ),
$option_content,
sprintf(
"%1s <br> %2s",
__( 'Prevent ads from getting loaded before they appear in the visitors visible area.', 'advanced-ads-pro' ),
$cache_busting_text ?? ''
)
);
}
}
}

View File

@@ -0,0 +1,3 @@
<?php
new Advanced_Ads_Pro_Module_Lazy_Load_Admin;

View File

@@ -0,0 +1 @@
<?php

View File

@@ -0,0 +1,11 @@
<div class="advanced-ads-inputs-dependent-on-cb" <?php if ( $cb_off ) { echo 'style="display:none;"'; } ?>>
<label title="<?php esc_html_e( 'enabled', 'advanced-ads-pro' ); ?>">
<input type="radio" name="advads[placements][options][lazy_load]" value="enabled" <?php
checked( $checked, 'enabled' ); ?> /><?php esc_html_e( 'enabled', 'advanced-ads-pro' ); ?>
</label>
<label title="<?php esc_html_e( 'disabled', 'advanced-ads-pro' ); ?>">
<input type="radio" name="advads[placements][options][lazy_load]" value="disabled" <?php
checked( $checked, 'disabled' ); ?> /><?php esc_html_e( 'disabled', 'advanced-ads-pro' ); ?>
</label>
</div>
<p class="advads-notice-inline advads-idea" <?php if ( ! $cb_off ) { echo 'style="display:none;"'; } ?>><?php esc_html_e( 'Works only with cache-busting enabled', 'advanced-ads-pro' ); ?></p>

View File

@@ -0,0 +1,39 @@
<?php
$options = Advanced_Ads_Pro::get_instance()->get_options();
$module_enabled = isset( $options['lazy-load']['enabled'] ) && $options['lazy-load']['enabled'];
$offset = ! empty( $options['lazy-load']['offset'] ) ? Advanced_Ads_Pro_Utils::absint( $options['lazy-load']['offset'], 0, 99999 ) : 0;
?>
<input name="<?php echo esc_attr( Advanced_Ads_Pro::OPTION_KEY ); ?>[lazy-load][enabled]" id="advanced-ads-pro-lazy-load-enabled" type="checkbox" value="1" <?php checked( $module_enabled ); ?> class="advads-has-sub-settings" />
<label for="advanced-ads-pro-lazy-load-enabled" class="description">
<?php esc_html_e( 'Activate module.', 'advanced-ads-pro' ); ?>
</label>
<a href="<?php echo 'https://wpadvancedads.com/lazy-load-ads/?utm_source=advanced-ads&utm_medium=link&utm_campaign=pro-ll-manual'; ?>" target="_blank" class="advads-manual-link"><?php esc_html_e( 'Manual', 'advanced-ads-pro' ); ?></a>
<div class="advads-sub-settings">
<p class="description">
<?php
$dashicon_class = 'dashicons-no advads-color-red';
if ( ! empty( $options['cache-busting']['enabled'] ) ) {
$dashicon_class = 'dashicons-yes advads-color-green';
}
echo wp_kses_post(
sprintf(
/* translators: %s: dashicon class */
__( 'This module requires: <br> <span class="dashicons %s"></span> Cache Busting', 'advanced-ads-pro' ),
$dashicon_class
)
);
?>
</p>
<br />
<label>
<?php
$field = '<input name="' . Advanced_Ads_Pro::OPTION_KEY . '[lazy-load][offset]" type="number" min="0" max="99999" value="' . $offset . '" />';
printf(
/* translators: %s: input field */
__( 'Start loading the ads %s pixels before they are visible on the screen.', 'advanced-ads-pro' ), // phpcs:ignore
$field // phpcs:ignore
);
?>
</label>
</div>