我正在创建自己的插件和小部件,以在我的投资组合网站上显示我的最新作品,只是我在最后一部分——显示我的数据时遇到了一些问题。
我创建了一个插件,可以将新数据插入到我的数据库中——它保存了我完成的新项目的信息(标题、副标题、href和src)。
我可以很好地反映出所有这些数据。
我做的下一件事是创建一个小部件,它允许我显示所有这些数据,调用如下:
the_widget( 'soc_latestwork','title=$data->Title.&subtitle=$data->SubTitle&image_src=$data->ImageSrc&image_url=$data->ImageUrl', array('before_widget' => '', 'after_widget' => ''));
这显示我的小部件很好。。。预计问题是我的数据存储在一个数组中,我可以通过执行来访问该数组
$data->Title
等等。
现在,我究竟该如何将这些数据放入我的小部件中呢?无论我在里面放了什么,都会以纯文本的形式得到回应。
这是我的小部件代码,显示了这些数据:
function widget($args, $instance)
{
extract($args);
echo $before_widget;
?>
<div class="col-lg-3 col-sm-3 latest-work-box" data-scrollreveal="enter left after 0.15s over 1s">
<!-- Image box -->
<div class="latest-work-box-wrap">
<a href="<?php echo $instance['image_src'] ?>" >
<img src="<?php echo $instance['image_url'] ?>" />
</a>
<div class="latest-work-box-wrap-bottom">
<h1> <?php echo $instance['title'] ?> </h1>
<h2> <?php echo $instance['subtitle'] ?> </h2>
</div>
</div>
</div>
<?php
echo $after_widget;
}
您当前正在传递一个字符串数组,如"$data->Title"
,而您应该传递包含在$data->Title
中的数据。
将您的小工具调用更改为:
the_widget( 'soc_latestwork','title='.$data->Title.'&subtitle='.$data->SubTitle.'&image_src='.$data->ImageSrc.'&image_url='.$data->ImageUrl, array('before_widget' => '', 'after_widget' => ''));