feat(php): implement advanced in-content ads with multi-element targeting
- Add incontent_advanced group with 19 configurable fields in schema - Support 5 density modes: paragraphs_only, conservative, balanced, aggressive, custom - Enable ad placement after H2, H3, paragraphs, images, lists, blockquotes, and tables - Add probability-based selection (25-100%) per element type - Implement priority-based and position-based ad selection strategies - Add detailed mode descriptions in admin UI for better UX - Rename 'legacy' terminology to 'paragraphs_only' for clarity - Support deterministic randomization using post_id + date seed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"component_name": "adsense-placement",
|
||||
"version": "1.3.0",
|
||||
"description": "Control de AdSense y Google Analytics - Con Anchor y Vignette Ads",
|
||||
"version": "1.4.0",
|
||||
"description": "Control de AdSense y Google Analytics - Con In-Content Ads Avanzado",
|
||||
"groups": {
|
||||
"visibility": {
|
||||
"label": "Activacion",
|
||||
@@ -113,6 +113,170 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"incontent_advanced": {
|
||||
"label": "In-Content Ads Avanzado",
|
||||
"priority": 69,
|
||||
"fields": {
|
||||
"incontent_mode": {
|
||||
"type": "select",
|
||||
"label": "Estrategia de insercion",
|
||||
"default": "paragraphs_only",
|
||||
"editable": true,
|
||||
"options": {
|
||||
"paragraphs_only": "Solo parrafos (clasico)",
|
||||
"conservative": "Conservador - H2 y parrafos",
|
||||
"balanced": "Balanceado - Multiples elementos",
|
||||
"aggressive": "Intensivo - Todos los elementos",
|
||||
"custom": "Personalizado"
|
||||
},
|
||||
"description": "Define donde se insertaran los anuncios dentro del contenido del post."
|
||||
},
|
||||
"incontent_after_h2_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de H2",
|
||||
"default": true,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de encabezados H2"
|
||||
},
|
||||
"incontent_after_h2_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad H2",
|
||||
"default": "100",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"],
|
||||
"description": "Porcentaje de probabilidad de insercion"
|
||||
},
|
||||
"incontent_after_h3_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de H3",
|
||||
"default": true,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de encabezados H3"
|
||||
},
|
||||
"incontent_after_h3_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad H3",
|
||||
"default": "50",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"]
|
||||
},
|
||||
"incontent_after_paragraphs_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de parrafos",
|
||||
"default": true,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de parrafos (ubicacion tradicional)"
|
||||
},
|
||||
"incontent_after_paragraphs_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad parrafos",
|
||||
"default": "75",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"],
|
||||
"description": "Porcentaje de probabilidad de insercion despues de parrafos"
|
||||
},
|
||||
"incontent_after_images_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de imagenes",
|
||||
"default": true,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de figure o img standalone"
|
||||
},
|
||||
"incontent_after_images_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad imagenes",
|
||||
"default": "75",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"]
|
||||
},
|
||||
"incontent_after_lists_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de listas",
|
||||
"default": false,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de ul/ol (minimo 3 items)"
|
||||
},
|
||||
"incontent_after_lists_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad listas",
|
||||
"default": "50",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"]
|
||||
},
|
||||
"incontent_after_blockquotes_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de blockquotes",
|
||||
"default": false,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de citas en bloque"
|
||||
},
|
||||
"incontent_after_blockquotes_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad blockquotes",
|
||||
"default": "50",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"]
|
||||
},
|
||||
"incontent_after_tables_enabled": {
|
||||
"type": "boolean",
|
||||
"label": "Despues de tablas",
|
||||
"default": false,
|
||||
"editable": true,
|
||||
"description": "Insertar anuncios despues de tablas"
|
||||
},
|
||||
"incontent_after_tables_probability": {
|
||||
"type": "select",
|
||||
"label": "Probabilidad tablas",
|
||||
"default": "50",
|
||||
"editable": true,
|
||||
"options": ["25", "50", "75", "100"]
|
||||
},
|
||||
"incontent_max_total_ads": {
|
||||
"type": "select",
|
||||
"label": "Maximo total de ads",
|
||||
"default": "8",
|
||||
"editable": true,
|
||||
"options": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"],
|
||||
"description": "Cantidad maxima de anuncios in-content por post"
|
||||
},
|
||||
"incontent_min_spacing": {
|
||||
"type": "select",
|
||||
"label": "Espaciado minimo",
|
||||
"default": "3",
|
||||
"editable": true,
|
||||
"options": {
|
||||
"2": "2 elementos",
|
||||
"3": "3 elementos",
|
||||
"4": "4 elementos",
|
||||
"5": "5 elementos",
|
||||
"6": "6 elementos"
|
||||
},
|
||||
"description": "Minimo de elementos de bloque entre anuncios"
|
||||
},
|
||||
"incontent_format": {
|
||||
"type": "select",
|
||||
"label": "Formato de ads",
|
||||
"default": "in-article",
|
||||
"editable": true,
|
||||
"options": {
|
||||
"in-article": "In-Article (fluid)",
|
||||
"auto": "Auto (responsive)"
|
||||
},
|
||||
"description": "Formato de anuncio para todas las ubicaciones in-content"
|
||||
},
|
||||
"incontent_priority_mode": {
|
||||
"type": "select",
|
||||
"label": "Estrategia de seleccion",
|
||||
"default": "position",
|
||||
"editable": true,
|
||||
"options": {
|
||||
"position": "Por posicion (distribucion uniforme)",
|
||||
"priority": "Por prioridad (maximizar H2/H3)"
|
||||
},
|
||||
"description": "Como resolver conflictos cuando dos ubicaciones estan muy cerca"
|
||||
}
|
||||
}
|
||||
},
|
||||
"behavior": {
|
||||
"label": "Ubicaciones en Posts",
|
||||
"priority": 70,
|
||||
|
||||
Reference in New Issue
Block a user