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,40 @@
<?php
/**
* Render item option for placements.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*
* @var Placement $placement Placement instance.
*/
$placement_item = $placement->get_item_object();
$allowed_ads = $placement->get_type_object()->get_allowed_ads();
$allowed_groups = $placement->get_type_object()->get_allowed_groups();
$has_items = ! empty( $allowed_ads ) || ! empty( $allowed_groups );
// Show a button when no ads exist, yet.
if ( ! $has_items ) : ?>
<a class="button" href="<?php echo esc_url( admin_url( 'post-new.php?post_type=advanced_ads' ) ); ?>">
<?php esc_html_e( 'Create your first ad', 'advanced-ads' ); ?>
</a>
<?php else : ?>
<label for="advads-placement-item-<?php echo esc_attr( $placement->get_slug() ); ?>" class="screen-reader-text">
<?php esc_html_e( 'Choose the Ad or Group', 'advanced-ads' ); ?>
</label>
<div class="advads-placement-item-select-wrap">
<?php include 'item-select.php'; ?>
<span class="advads-loader hidden"></span>
<a class="advads-placement-item-edit" href="<?php echo esc_url( $placement_item ? $placement_item->get_edit_link() : '#' ); ?>" style="display: <?php echo esc_attr( $placement_item && $placement_item->get_id() > 0 ? 'inline' : 'none' ); ?>" title="<?php esc_attr_e( 'Edit item', 'advanced-ads' ); ?>">
<span class="dashicons dashicons-external"></span>
</a>
</div>
<?php
endif;
/**
* Do action after the item select.
*/
do_action( 'advads-placement-item-select-after' );

View File

@@ -0,0 +1,40 @@
<?php
/**
* Render output of the placement conditions.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*
* @var Placement $placement Placement instance.
*/
$display_conditions = Advanced_Ads_Display_Conditions::get_instance();
$visitor_conditions = Advanced_Ads_Visitor_Conditions::get_instance();
?>
<?php if ( $placement->get_display_conditions() ) : ?>
<h4><?php echo esc_html__( 'Display Conditions', 'advanced-ads' ); ?></h4>
<ul>
<?php foreach ( $placement->get_display_conditions() as $condition ) : ?>
<?php if ( array_key_exists( $condition['type'], (array) $display_conditions->conditions ) ) : ?>
<li>
<?php echo esc_html( $display_conditions->conditions[ $condition['type'] ]['label'] ); ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php if ( $placement->get_visitor_conditions() ) : ?>
<h4><?php echo esc_html__( 'Visitor Conditions', 'advanced-ads' ); ?></h4>
<ul>
<?php foreach ( $placement->get_visitor_conditions() as $condition ) : ?>
<?php if ( array_key_exists( $condition['type'], $visitor_conditions->conditions ) ) : ?>
<li>
<?php echo esc_html( $visitor_conditions->conditions[ $condition['type'] ]['label'] ); ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<a href="#modal-placement-edit-<?php echo esc_attr( $placement->get_id() ); ?>" data-placement="<?php echo esc_attr( $placement->get_id() ); ?>" class="advads-mobile-hidden"><?php esc_html_e( 'edit conditions', 'advanced-ads' ); ?></a>

View File

@@ -0,0 +1,33 @@
<?php
/**
* Render the placement name column content in the placement table.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*
* @var Placement $placement Placement instance.
*/
$type_object = $placement->get_type_object();
?>
<div class="advads-table-name">
<a class="row-title" href="#modal-placement-edit-<?php echo esc_attr( $placement->get_id() ); ?>"><?php echo esc_html( $placement->get_title() ); ?></a>
<?php if ( 'draft' === $placement->get_status() ) : ?>
<strong>— <span class="post-state"><?php esc_html_e( 'Draft', 'advanced-ads' ); ?></span></strong>
<?php endif; ?>
</div>
<?php if ( $type_object->is_premium() ) : ?>
<p class="advads-notice-inline advads-error">
<?php
echo esc_html(
sprintf(
/* translators: %s is the placement type string */
__( 'The originally selected placement type “%s” is not enabled.', 'advanced-ads' ),
$type_object->get_title()
)
);
?>
</p>
<?php
endif;

View File

@@ -0,0 +1,25 @@
<?php
/**
* Render the placement type column content in the placement table.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*
* @var Placement $placement Placement instance.
*/
use AdvancedAds\Framework\Utilities\Params;
use AdvancedAds\Utilities\Conditional;
$placement_type = $placement->get_type_object();
?>
<div class="advads-form-type">
<img src="<?php echo esc_url( $placement_type->get_image() ); ?>" alt="<?php echo esc_attr( $placement_type->get_title() ); ?>" title="<?php echo esc_attr( $placement_type->get_title() ); ?>">
</div>
<?php
if ( ! wp_verify_nonce( sanitize_key( Params::post( '_inline_edit' ) ), 'inlineeditnonce' ) || ! Conditional::user_can( 'advanced_ads_manage_placements' ) ) {
return;
}
?>
<script>window.advancedAds.notifications.addSuccess( '<?php esc_html_e( 'Placement updated', 'advanced-ads' ); ?>' );</script>

View File

@@ -0,0 +1,30 @@
<?php
/**
* Content for the "Show Usage"
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*
* @var Placement $placement Placement instance.
*/
?>
<div class="advads-usage advads-placement-usage-modal">
<h2>
<label for="usage-shortcode-<?php echo esc_attr( $placement->get_slug() ); ?>">
<?php esc_html_e( 'Shortcode', 'advanced-ads' ); ?>
</label>
</h2>
<code>
<input class="widefat" type="text" id="usage-shortcode-<?php echo esc_attr( $placement->get_slug() ); ?>" onclick="this.select();" value='[the_ad_placement id="<?php echo esc_attr( $placement->get_slug() ); ?>"]' readonly />
</code>
<h2>
<label for="usage-template-<?php echo esc_attr( $placement->get_slug() ); ?>">
<?php esc_html_e( 'Template (PHP)', 'advanced-ads' ); ?>
</label>
</h2>
<code>
<input class="widefat" type="text" id="usage-template-<?php echo esc_attr( $placement->get_slug() ); ?>" onclick="this.select();" value="&lt;?php if ( function_exists( 'the_ad_placement' ) ) { the_ad_placement( '<?php echo esc_attr( $placement->get_slug() ); ?>' ); } ?&gt;" readonly />
</code>
</div>

View File

@@ -0,0 +1,18 @@
<?php
/**
* Placement list table description.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*/
use AdvancedAds\Entities;
?>
<p class="description">
<?php echo esc_html( Entities::get_placement_description() ); ?>
<a href="https://wpadvancedads.com/manual/placements/?utm_source=advanced-ads&utm_medium=link&utm_campaign=placements" target="_blank" class="advads-manual-link">
<?php esc_html_e( 'Manual', 'advanced-ads' ); ?>
</a>
</p>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Filter placement types.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*
* @var string $current_type Currently filtered placement type.
*/
?>
<label class="screen-reader-text" for="advads_filter_placement_type">
<?php esc_html_e( 'Placement Type', 'advanced-ads' ); ?>
</label>
<select class="advads_filter_placement_type" id="advads_filter_placement_type" name="placement-type">
<option value=""><?php esc_html_e( '- show all types -', 'advanced-ads' ); ?></option>
<?php
$types = wp_advads_get_placement_type_manager()->get_dropdown_options();
foreach ( $types as $id => $title ) : // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
?>
<option value="<?php echo esc_attr( $id ); ?>"<?php selected( $id, $current_type ); ?>>
<?php echo esc_html( $title ); ?>
</option>
<?php endforeach; ?>
</select>

View File

@@ -0,0 +1,28 @@
<?php
/**
* Show a note about placing ads in the header.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*/
?>
<div style="margin-top: 12px;">
<?php
printf(
wp_kses(
/* translators: %s is a URL. */
__( 'Tutorial: <a href="%s" target="_blank">How to place visible ads in the header of your website</a>.', 'advanced-ads' ),
[
'a' => [
'href' => [],
'target' => [],
],
]
),
'https://wpadvancedads.com/place-ads-in-website-header/?utm_source=advanced-ads&utm_medium=link&utm_campaign=header-ad-tutorial'
);
?>
</div>
<?php

View File

@@ -0,0 +1,30 @@
<?php
/**
* Markup for the placement item select box.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.50.0
*
* @var Placement $placement Placement instance.
*/
?>
<select
id="advads-placements-item-<?php echo esc_attr( $placement->get_id() ); ?>"
name="item"
class="advads-placement-item-select js-update-placement-item"
data-placement-id="<?php echo esc_attr( $placement->get_id() ); ?>"
>
<option value=""><?php esc_html_e( '--not selected--', 'advanced-ads' ); ?></option>
<?php foreach ( $placement->get_type_object()->get_allowed_items() as $item_group ) : ?>
<optgroup label="<?php echo esc_attr( $item_group['label'] ); ?>">
<?php foreach ( $item_group['items'] as $item_id => $item_name ) : ?>
<option value="<?php echo esc_attr( $item_id ); ?>"<?php selected( $placement->get_item(), $item_id ); ?>>
<?php echo esc_html( $item_name ); ?>
</option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select>

View File

@@ -0,0 +1,39 @@
<?php
/**
* Render the view navigation items on the Placement screen.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*
* @var array $views list of views.
* @var bool $show_trash_delete_button if the trash delete button is visible.
*/
use AdvancedAds\Framework\Utilities\Str;
?>
<ul class="advanced-ads-ad-list-views">
<?php
foreach ( $views as $view ) :
$view = str_replace( [ ')', '(' ], '', $view );
$class = Str::contains( 'current', $view ) ? 'advads-button-primary' : 'advads-button-secondary';
?>
<li class="button <?php echo esc_attr( $class ); ?>">
<?php
echo wp_kses(
$view,
[
'a' => [ 'href' => [] ],
'span' => [ 'class' => [] ],
]
);
?>
</li>
<?php endforeach; ?>
</ul>
<?php if ( $show_trash_delete_button ) : ?>
<button type="submit" name="delete_all" id="delete_all" class="button advads-button-primary">
<span class="dashicons dashicons-trash"></span><?php esc_html_e( 'Empty Trash', 'advanced-ads' ); ?>
</button>
<?php endif; ?>