php 在一个页面中隐藏用户角色的div

4jb9z9bj  于 2023-01-08  发布在  PHP
关注(0)|答案(3)|浏览(104)

我想隐藏一个特定的div从一个特定的用户角色在我的网站的一个页面上,我试图插入下面的代码在function.php文件中我的主题,但不幸的是它不工作,你有什么建议?

<?php
$user = wp_get_current_user();
if ( in_array( 'shop_manager', $user->roles ) ) {
?>
    <script>
jQuery(document).ready(function( $ ){
    jQuery( "#hide" ).empty();
    
});     

    </script>
<?php 
}
?>
xuo3flqw

xuo3flqw1#

functions.php是用来给你的网站添加php函数的。如果你想在你的主题中打印HTML/JS,你需要把它添加到你的主题文件中(index.php或者footer.php)
把这段代码放在你的主题文件中,它应该可以工作。

9avjhtql

9avjhtql2#

使用footer钩子注入css/js代码:

function your_function() {
    $user = wp_get_current_user();
    if ( in_array( 'shop_manager', $user->roles ) ) {
        ?>
        <script>
        jQuery(document).ready(function( $ ){
            jQuery( "#hide" ).empty();
        });
        </script>
        <?php 
    }
}
add_action( 'wp_footer', 'your_function' );
n3ipq98p

n3ipq98p3#

add_action( 'wp_head', 'callback_hide_div_onpage' ); // wordpress header action hook 
function callback_hide_div_onpage() {
  if( is_user_logged_in() ) {
    $user = wp_get_current_user();
    $roles = $user->roles;
    if($roles[0] == 'student_role'){  // role name -> Student Role
    
      // When the Page with a post_name (slug) of "about-me" is being displayed.
      
      is_page( 'about-us' ){  // add specific page to hide a div using style 
      
      ?>
     
        <style>
          /* hide div using styling css option or you can used script for this as per requirement */
          .target_div{
            display:none !important;  
          }
        </style>
      <?php }

    }
  }
}

相关问题