我有一个自定义函数,可以从另一个Wordpress博客中提取(3)篇文章,它通过一个快捷码从我指定的特定类别中提取它们。
现在,尽管如此,我无法让它运行并显示实际图像,因为我只能让它显示特色图像(媒体附件)的ID本身。
这是我的功能代码,除了不显示图像外,它可以工作,而是图像ID(数值)
function feedpuller_func($atts)
{
$url = $atts[\'url\'];
$count = ($atts[\'count\'])?$atts[\'count\']:\'3\';
if($atts[\'catid\'])
{
$cat = \'?categories=\'.$atts[\'catid\'].\'&per_page=\'.$count;
$response = wp_remote_get( $url.\'/wp-json/wp/v2/posts/?_embed\'.$cat );
}
else if ($atts[\'slug\'])
{
$slug = $atts[\'slug\'];
echo $url . \'/wp-json/wp/v2/categories?slug=\'.$slug;
$responseslug = wp_remote_get($url . \'/wp-json/wp/v2/categories?slug=\'.$slug );
$postdata = json_decode( wp_remote_retrieve_body( $responseslug ) );
if($postdata)
$catid = $postdata[0]->id;
else
echo \'no record against this slug\';
if($catid)
{
$cat = \'?categories=\'.$catid.\'&per_page=\'.$count;
$response = wp_remote_get( $url.\'/wp-json/wp/v2/posts/?_embed\'.$cat );
}
}
else
$cat = \'\';
if( is_wp_error( $response ) ) {
return;
}
$posts = json_decode( wp_remote_retrieve_body( $response ) );
if( empty( $posts ) ) {
return;
}
if( !empty( $instance[\'title\'] ) ) {
echo $args[\'before_title\'] . apply_filters( \'widget_title\', $instance[\'title\'], $instance, $this->id_base ) . $args[\'after_title\'];
}
if( !empty( $posts ) ) {
echo \'<ul class="feedothersite">\';
foreach( $posts as $post ) { //echo \'<pre>\'; print_r($post);
echo \'<li><a href="\' . $post->link . \'">\' . \'<img src="\' . $post->featured_media . \'">\' . \'<br>\'. $post->title->rendered .\'<br>\'. $post->excerpt->rendered . \'</a></li>\';
}
echo \'</ul>\';
}
}
add_shortcode("feedpuller","feedpuller_func");
编辑:我不想使用已经制作好的插件,我也在相关帖子上尝试过解决方案,但我的功能不同,因为我显示的是特定类别的帖子,典型的帖子都是在没有这些参数的情况下拉出来显示的。Suggested Method (I know this works for regular posts)
/?rest_route=/wp/v2/posts&_embed
/wp-json/wp/v2/posts?_embed
But mine are called like this:
/wp-json/wp/v2/categories?slug=\'.$slug