我想您只是想添加xmlns:dio
属性,而不发出完整的第二个HTML标记。
您可以通过滥用language\\u attributes过滤器来做到这一点,大多数主题在其<;html>;标签:
<html <?php language_attributes(); ?> <?php twentytwentyone_the_html_classes(); ?>>
例如:。
function language_attributes_xmlns_dio( $output, $doctype ) {
if ( is_single( array( 1234 ) ) ) {
return $output . \' xmlns:dio="http://docs.dionera.com/namespace/DioML"\';
}
return $output;
}
add_action( \'language_attributes\', \'language_attributes_xmlns_dio\', 10, 2 );
虽然有些翻译插件可能会完全覆盖此值,因此在这种情况下可能会丢失名称空间。如果这是一个问题,你需要编辑你的主题的标题。php在<;中添加新函数调用;html>;标记,您可以在主题中定义该标记来有条件地发出xmlns属性。或者,在一个额外的名称空间中也没有坏处,所以您可以将其添加到标头中的标记中。php无条件。
此外,最好在页面中添加“needs\\u dio\\u namespace”post\\u meta值,并检查该值,而不是硬编码ID。