根据特定值(appID),我想在我的wordpress博客中隐藏其中一个小部件ID。
我的小部件ID: custom_html-2 (我从启用辅助功能模式获得此值)
(从这个网址我得到了widgetID:/wp-admin/widgets.php?widgets-access=on&_wpnonce=0b123456fb2&editwidget=custom_html-2&sidebar=right-sidebar&key=0
)
当appID的值为 in.abcd.app 时,我想隐藏 custom_html-2 。
我只是回显了appID ,我得到了值 in.abcd.app ,但是小部件没有被隐藏。
我打开了侧栏中的侧栏(sidebar.php)并按照下面的方式进行了修改。没锻炼 - 我是wordpress和PHP的新手
<!-- 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 -->
答案 0 :(得分:2)
您需要在functions.php
中添加以下内容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;
}
答案 1 :(得分:1)
我认为dynamic_sidebar( 'right-sidebar' );
呈现侧边栏和小部件,因此如果在呈现小部件后取消设置小部件,它将不会改变任何内容。
尝试将dynamic_sidebar( 'right-sidebar' );
放在未设置的部分之后。