使用php将类添加到document.documentElement

时间:2015-10-04 13:50:08

标签: php wordpress cookies domdocument

我正在开发一个wordpress主题,我正在根据某些条件设置一个cookie。它工作正常 - 我可以设置cookie并成功检索cookie。我的问题是根据cookie的值向documentelement添加一个类,例如如果Cookie的值为true,则float Matrix2d::operator[](int index){ return this->positions[index]; } Matrix2d operator+(Matrix2d& mat1, Matrix2d& mat2){ Matrix2d aux(0, 0, 0, 0); aux[0] = mat1[0] + mat2[0]; aux[1] = mat1[1] + mat2[1]; aux[2] = mat1[2] + mat2[2]; aux[3] = mat1[3] + mat2[3]; return aux; ;如果值为false,则为<html class="special-class">

我怎么能在Wordpress中做到这一点?我想要的代码是这样的:

<html class="regular-class">

我现在的解决方法是将我的特殊课程添加到function my_theme_getcookie() { if ( isset( $_COOKIE['cookie-name'] ) && $_COOKIE['cookie-name'] == 'true' ) { // Add the class "special-snowflake" to <html> tag... } } add_action( 'wp_head', 'my_theme_getcookie' ); 而不是<body>,使用基于Wordpress codex中的以下内容

<html>

然后我可以在检查cookie时调用该函数:

function my_theme_class_names( $classes ) {
    // add 'class-name' to the $classes array
    $classes[] = 'class-name';
    // return the $classes array
    return $classes;
}

看起来没有html_class()过滤器类似于body_class()

1 个答案:

答案 0 :(得分:0)

你可以试试这个。

<?php
    function my_theme_getcookie(){
            if( isset( $_COOKIE['cookie-name'] ) && $_COOKIE['cookie-name'] == 'true' ){?>
               <script>
                    var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)

                    root.setAttribute( 'class', 'special-snowflake' );
               </script><?php
            }
        } ?>