尝试使用帖子ID创建动态小工具区域

时间:2016-08-23 作者:inkcolor

在里面functions.php 我添加了此代码。

function page_widget_init( $post_id = 0 ) { {
    register_sidebar( array(
        \'name\' => __( \'Page Widgets\', \'seven_theme\' ),
        \'id\' => \'page-widgets-\' . $post_id,
        \'description\' => __( \'To display Layers Widgets in front page, before your posts, after header.\', \'seven_theme\' ),
    ) );    
}
add_action( \'widgets_init\', \'page_widget_init\', 100 );
首先,如何获取帖子idfunctions.php register_sidebar **$post_id**

现在转到我使用page创建的页面模板。php,称为Blog Template

在此页面中调用此小部件。

dynamic_sidebar( \'page-widgets-\' . $post->ID );
我的想法是使用post ID创建唯一的小部件内容。

1 个回复
SO网友:cjbj

在您的代码中,您试图为每个帖子注册一个不同的侧栏。现在,这是可能的(虽然代码略有不同),但这意味着如果你有,比如说,100篇帖子,你的管理员中会有100个小部件区域,所有这些区域都必须填充有自己内容的不同小部件。

我不知道你到底想达到什么目的,但如果你想从侧边栏中的特定帖子中获取信息,你可能想build a widget. 您仍然可以在每个页面上拥有唯一的信息,但不能在杂乱的小部件仪表板上。

我可以想出更复杂的设置,但你必须提供更多关于你试图实现的细节。

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'