如何在所有页面的边栏中显示自定义域?

时间:2012-04-12 作者:Tory

我正在使用Wordpress的类型插件,并创建了一个自定义字段。我想在我所有页面的侧栏中显示此自定义字段。问题是它只显示在我创建自定义字段的页面的侧栏中。它不会显示在任何其他页面的侧栏中。这是我放在通用侧边栏中的代码。php文件:

<?php echo(types_render_field("photo", array("alt"=>"Product image", "width"=>"300","height"=>"200","proportional"=>"true"))); ?>
关于如何让它显示在所有页面的侧边栏上,有什么想法吗?我在最新版本的Wordpress中使用了211主题。

谢谢

3 个回复
SO网友:brasofilo

我检查了存储库中的代码,这个特定函数没有ID参数,这意味着它只获取当前显示的帖子/页面的CF。

快速解决方案是:

$my_page = get_page_by_path( \'my-page\' );
$meta_values = get_post_meta($my_page->ID, \'custom-field-name\', true);
也许插件还有另一个功能,但你最好在插件支持页面中询问http://wordpress.org/tags/types?forum_id=10

SO网友:offroff

肮脏的解决方案:

$custom_image = types_render_field("photo", array("alt"=>"Product image","width"=>"300","height"=>"200","proportional"=>"true");
if($custom_image) {
    // this page has a custom photo. Print it.
    print $custom_image;
} else {
   // this page don\'t have a photo, therefore we output the photo of the default page
   $id = 1; // the id of the default page
   $post = get_post($id);
   setup_postdata($post);
   print types_render_field("photo", array("alt"=>"Product image","width"=>"300","height"=>"200","proportional"=>"true");
   wp_reset_postdata();
}
或者,如果你真的想要到处都是相同的照片,那么只需使用else子句中的内容

SO网友:user27837

不知道从什么时候开始,但你可以通过post id 作为一个论据

<?php 
$postid = get_the_ID();
echo(types_render_field("photo", array("post_id"=>"$postid","alt"=>"Product image", "width"=>"300","height"=>"200","proportional"=>"true"))); 
?>

结束

相关推荐

Sidebar missing from Homepage

这个home page 在所有最新帖子的其余部分下方显示侧边栏,为大部分(长)页面留下空白侧边栏区域。侧栏在任何single post.我的index.php 和single.php 除了“下一篇文章”和“上一篇文章”中的细微差别外,它们实际上是相同的。主题侧栏中没有部署小部件,称为侧栏1;没有其他提要栏。侧栏的所有元素都编码到侧栏中。php,并且没有条件检查哪个页面正在调用侧栏,因此它应该(并且正在)在索引页面和单个帖子上显示相同的内容,只是在不同的位置。类别页面也会在正确的位置显示侧栏。我想可能会有&