Añadir contenido controlado por código a una plantilla de POM

POM no expone una API general para registrar nombres arbitrarios de etiquetas de combinación nuevas. Usa una etiqueta de contexto existente para contenido estructurado, o registra un shortcode cuando el resultado deba seguir perteneciendo a un plugin o a un tema hijo.

El resultado de las plantillas de feed y de artículo individual pasa por los shortcodes de WordPress después de que POM reemplace sus etiquetas de combinación compatibles. Las plantillas de archivo proporcionan el filtro final pom_archive_template_html.

Usa un shortcode en el contenido de feed o de artículo individual

Registra un shortcode con prefijo y devuelve marcado escapado o permitido intencionadamente:

add_shortcode(
    'acme_resource_badge',
    static function ( array $attributes ): string {
        $attributes = shortcode_atts(
            array( 'post_id' => 0 ),
            $attributes,
            'acme_resource_badge'
        );

        $post_id = absint( $attributes['post_id'] );

        return $post_id
            ? '<span class="resource-badge">' . esc_html__( 'Resource', 'acme' ) . '</span>'
            : '';
    }
);

Inserta el shortcode únicamente en una plantilla de feed o de artículo individual guardada cuyo tiempo de ejecución proporcione los valores necesarios. No aceptes callbacks, plantillas, capacidades ni HTML sin procesar procedente de los atributos del shortcode.

Por ejemplo, la plantilla puede pasar el ID de contenido actual después de que POM lo resuelva:

[acme_resource_badge post_id="{{post_id}}"]

Filtra una estructura HTML de archivo

add_filter(
    'pom_archive_template_html',
    static function ( string $html, string $post_type ): string {
        if ( 'resource' !== $post_type ) {
            return $html;
        }

        return $html . '<p class="resource-note">' .
            esc_html__( 'Browse all resources.', 'acme' ) .
            '</p>';
    },
    10,
    2
);

El filtro recibe el HTML de archivo ya reemplazado y el tipo de contenido del archivo. No añade una etiqueta de combinación a los contextos de feed o de artículo individual.

Verifica

Prueba el archivo normal, el archivo de taxonomía, los resultados vacíos, la carga progresiva donde se use, las traducciones y la integración desactivada. Solicita los recursos condicionales explícitamente si el resultado añadido los necesita.