首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式隐藏Wordpress小部件ID

如何以编程方式隐藏Wordpress小部件ID
EN

Stack Overflow用户
提问于 2017-12-05 18:33:21
回答 2查看 1.2K关注 0票数 0

基于一个特定的值(AppID),我想在wordpress博客中隐藏一个小部件ID。

我的小部件Id:定制_html-2(我从启用可访问性模式获得了这个值)(从这个url我得到了widgetID:/wp-admin/widgets.php?widgets-access=on&_wpnonce=0b123456fb2&editwidget=custom_html-2&sidebar=right-sidebar&key=0 )

在这里,当的值为in.abcd.app时,我想隐藏appID自定义_html-2。

我只是响应了appID,我得到了in.abcd.app的值,但是小部件没有隐藏。

我打开Sidebar (sidebar.php)在单词press和做修改如下。没有锻炼-我对wordpress和PHP很陌生

代码语言:javascript
复制
<!-- Sidebar -->
<div class="col-lg-4 col-md-4 col-sm-4">

    <aside class="sidebar">

        <?php if ( is_active_sidebar( 'right-sidebar' ) ) : ?>
        <div class="sidebar-widget">

            <?php dynamic_sidebar( 'right-sidebar' ); ?>

            <?php   
                <?php $widgets  = get_option('widget'.sidebar-widget); ?>
                $appID =  $_SERVER['HTTP_X_REQUESTED_WITH'] 
                if ($appID = 'in.abcd.app')
                {
                <?php unset($widgets['custom_html-2']); ?>
            ?>


        </div>
        <?php endif; ?>

    </aside>

</div>
<!-- /end sidebar -->
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-05 19:02:15

您需要在functions.php中添加如下内容

代码语言:javascript
复制
add_filter( 'sidebars_widgets', 'unset_sidebar_widget' );

function unset_sidebar_widget( $sidebars_widgets ) {
    $appID =  $_SERVER['HTTP_X_REQUESTED_WITH'];
    if ($appID = 'in.abcd.app')
    {
        unset($sidebars_widgets['custom_html-2']); 
    }
  return $sidebars_widgets;
}
票数 2
EN

Stack Overflow用户

发布于 2017-12-05 18:49:15

我认为dynamic_sidebar( 'right-sidebar' );呈现侧边栏和小部件,所以如果在小部件呈现后取消设置小部件,它将不会更改任何内容。

尝试将dynamic_sidebar( 'right-sidebar' );放在未设置部分之后。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47660454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档