Files
roi-theme/wp-content/plugins/advanced-ads-pro/modules/placement_conditions/admin.class.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

76 lines
2.3 KiB
PHP
Executable File

<?php // phpcs:ignore WordPress.Files.FileName
use AdvancedAds\Utilities\WordPress;
/**
* Placement conditions administration.
*/
class Advanced_Ads_Pro_Module_Placement_Conditions_Admin {
/**
* The Constructor.
*/
public function __construct() {
add_action( 'advanced-ads-placement-options-after-advanced', [ $this, 'render_conditions_for_placements' ], 10, 2 );
}
/**
* Render display and visitor condition for placement.
*
* @param string $placement_slug Placement id.
* @param Placement $placement Placement instance.
*/
public function render_conditions_for_placements( $placement_slug, $placement ) {
if (
! method_exists( 'Advanced_Ads_Display_Conditions', 'render_condition_list' )
|| ! method_exists( 'Advanced_Ads_Visitor_Conditions', 'render_condition_list' )
) {
return;
}
$type_options = $placement->get_type_object()->get_options();
if ( ! isset( $type_options['placement-display-conditions'] ) || $type_options['placement-display-conditions'] ) {
$set_conditions = $placement->get_display_conditions();
$list_target = 'advads-placement-condition-list-' . $placement_slug;
$form_name = 'advads[placements][options][display]';
ob_start();
if ( ! empty( $type_options['placement-display-conditions'] ) ) {
// Render only specific conditions.
$options['in'] = $type_options['placement-display-conditions'];
} else {
$options['in'] = 'global';
}
Advanced_Ads_Display_Conditions::render_condition_list( $set_conditions, $list_target, $form_name, $options );
$conditions = ob_get_clean();
WordPress::render_option(
'placement-display-conditions',
__( 'Display Conditions', 'advanced-ads-pro' ),
$conditions
);
}
if ( ! isset( $type_options['placement-visitor-conditions'] ) || $type_options['placement-visitor-conditions'] ) {
$set_conditions = $placement->get_visitor_conditions();
$list_target = 'advads-placement-condition-list-visitor-' . $placement_slug;
$form_name = 'advads[placements][options][visitors]';
ob_start();
Advanced_Ads_Visitor_Conditions::render_condition_list( $set_conditions, $list_target, $form_name );
$conditions = ob_get_clean();
WordPress::render_option(
'placement-visitor-conditions',
__( 'Visitor Conditions', 'advanced-ads-pro' ),
$conditions
);
}
}
}