• Добрый день! Столкнулся с такой проблемой, на мультесайте на любом из сайтов, если пользователи с правами админа, когда они вставляют блок в страницу с html и обновляют, код меняется, а у суперадмина такой проблемы нет.

    вот пример кода

    <div id="vk_post_-204483467_60"></div>
    <script type="text/javascript" src="https://vk.com/js/api/openapi.js?169"></script>
    <script type="text/javascript">
      (function() {
        VK.Widgets.Post("vk_post_-204483467_60", -204483467, 60, 'dDIJ4DGTMA1rigMsEf74ZY3boqfR');
      }());
    </script>

    а вот что выдаётся после публикации страницы.
    (function() { VK.Widgets.Post(«vk_post_-204483467_60», -204483467, 60, ‘dDIJ4DGTMA1rigMsEf74ZY3boqfR’); }());

    • Тема изменена 7 месяцев, 2 недели назад пользователем lelush.
Просмотр 1 ответа (всего 1)
  • В мультисайте WordPress только суперадминистраторы имеют пользовательскую возможность «unfiltered_html». Её активация может привести к публикации пользователями вредоносного или плохо отформатированного кода, поэтому она и отключена по умолчанию.

    Вам нужно отредактировать возможности ролей пользователей, погуглив в плагинах, или активировать для сети подобный сниппет (в примере такую возможность имеют администраторы и редакторы сайтов).

    /**
     * @param string[] $caps    Array of the user's capabilities.
     * @param string   $cap     Capability name.
     * @param int      $user_id The user ID.
     * @param array    $args    Adds the context to the cap. Typically the object ID.
     */
    function my_map_meta_cap( $caps, $cap, $user_id, $args ) {
        if (
            'unfiltered_html' === $cap &&
            is_multisite() &&
            ( user_can( $user_id, 'editor' ) || user_can( $user_id, 'administrator' ) )
        ) {
            return [ 'unfiltered_html' ];
        }
    
        return $caps;
    }
    
    add_filter( 'map_meta_cap', 'my_map_meta_cap', 10, 4 );
Просмотр 1 ответа (всего 1)
  • Тема «блок html» закрыта для новых ответов.