it-swarm.cn

自定义每页侧边栏小部件..可能吗?

假设我正在做一个关于汽车的网站,并且在一个页面的主要内容区域(使用某个模板),有一些关于特定汽车的段落。

在侧边栏中,有几个标准小部件。但我还想要一个带有关于特定汽车的“信息面板”的小部件。

那么在Wordpress中放入每页面小部件的最佳方式是什么?我想理想情况下,可以通过Wordpress中的标准页面编辑输入信息面板。也许是通过自定义字段,因此您可以为制造商字段输入“Volvo”,它将显示在侧边栏中。 (或者这是插件已经覆盖的东西吗?)

3
cannyboy

如果您要使用小部件来执行此操作,您需要 Widget Logic Plugin 。但是,正如您所猜测的那样,这不是最好的方法。我认为实现您想要做的最好的方法是创建一个自定义小部件,如果它检测到它在正确的页面上,则访问帖子信息。像这样的东西:

global $wp_query;
$custom_data = get_post_meta( $wp_query->post->ID, 'your_custom_postmeta_key', true );
if( is_page() && !empty( $custom_data ) ){
  echo $before_widget . $before_title . $title . $after_title;
  echo apply_filters( 'the_content', $custom_data );
  echo $after_widget;
}

如果您将其粘贴在 普通窗口小部件结构中 ,那么在创建每页窗口小部件时非常有效,只有当您在页面上并且该页面具有与窗口小部件相关的元内容时才会出现。此时,您可以使用WordPress已在页面上提供的自定义字段来输入自定义内容。

2
John P Bloch

有一些插件可以让你这样做。 contextual-widgets 例如。另一种方法是为“页面”/“发布”模板创建不同的侧边栏。

另一种方法是在sidebar.php中放置一个静态代码,用于检查您是“页面”还是“单个”,如果是,则“打印”您在自定义字段中输入的信息。

2
hannit cohen

我可以使用 Widget上下文插件为WordPress成功控制小部件显示 。我喜欢Semiologic Pro的做法。这是一个基于会员的插件,所以不知道这是你正在寻找的:

alt text

它为任何侧栏上的所有小部件提供了一组显示选项。

2
hakre
0
Thomas Jensen