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,88 @@
<?php
/**
* This class is responsible to model image ads.
*
* @package AdvancedAds
* @author Advanced Ads <info@wpadvancedads.com>
* @since 1.48.0
*/
namespace AdvancedAds\Ads;
use Advanced_Ads;
use AdvancedAds\Abstracts\Ad;
use AdvancedAds\Interfaces\Ad_Interface;
defined( 'ABSPATH' ) || exit;
/**
* Image ad.
*/
class Ad_Image extends Ad implements Ad_Interface {
/**
* Get the image id for the ad.
*
* @param string $context What the value is for. Valid values are view and edit.
*
* @return int
*/
public function get_image_id( $context = 'view' ): int {
return $this->get_prop( 'image_id', $context ) ?? 0;
}
/**
* Set the image id.
*
* @param int|string $image_id Image id for ad.
*/
public function set_image_id( $image_id ) {
$this->set_prop( 'image_id', absint( $image_id ) );
}
/**
* Prepare output for frontend.
*
* @return string
*/
public function prepare_frontend_output(): string {
$url = $this->get_url();
$image_id = $this->get_image_id();
ob_start();
$this->get_type_object()->create_image_tag( $image_id, $this );
$img = ob_get_clean();
if ( ! defined( 'AAT_VERSION' ) && $url ) {
$alt = trim( esc_textarea( get_post_meta( $image_id, '_wp_attachment_image_alt', true ) ) );
$aria_label = ! empty( $alt ) ? $alt : wp_basename( get_the_title( $image_id ) );
$options = Advanced_Ads::get_instance()->options();
$target_blank = ! empty( $options['target-blank'] ) ? ' target="_blank"' : '';
$img = sprintf( '<a href="%s"%s aria-label="%s">%s</a>', esc_url( $url ), $target_blank, $aria_label, $img );
}
return $img;
}
/**
* Pre save
*
* @param array $post_data Post data.
*
* @return void
*/
public function pre_save( $post_data ): void {
$image_id = absint( $post_data['image_id'] ?? 0 );
if ( $image_id ) {
$attachment = get_post( $image_id );
if ( $attachment && 0 === $attachment->post_parent ) {
wp_update_post(
[
'ID' => $image_id,
'post_parent' => $this->get_id(),
]
);
}
}
}
}