5ucms论坛

标题: 星宿ui博客小程序不显示文章封面图缩略图 thumbnailurl [打印本页]

作者: admin    时间: 2021-5-15 23:53
标题: 星宿ui博客小程序不显示文章封面图缩略图 thumbnailurl
能找着这儿就是缘分,这问题困扰我半小时。。。因为对WP不熟悉,用的少
最后和官方API地址对比发现缺少了 thumbnailurl 这个字段值

如果你用的是自己的主题,可能是不显示的
需要修改fucntion.php文件
方法如下:

在主题下面的functions.php下面添加

  1. function dw_rest_prepare_post( $data, $post, $request ) {

  2.    $_data = $data->data;

  3.    $params = $request->get_params();

  4.    if (has_post_thumbnail($data)) {
  5.       //如果有特色缩略图,则输出缩略图地址
  6.       $image = wp_get_attachment_image_src( get_post_thumbnail_id($_data['id']), 'full' );
  7.       $post_thumbnail_src = $image[0];
  8.    } else {
  9.       @$output            = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  10.       if (!empty($matches[1][0])) {
  11.          global $wpdb;
  12.          $att = $wpdb->get_row($wpdb->prepare("SELECT ID,guid FROM $wpdb->posts WHERE guid LIKE '%s'", $matches[1][0]));
  13.          if ($att) {
  14.             $post_thumbnail_src = $att->guid;
  15.          } else {
  16.             $post_thumbnail_src = $matches[1][0];
  17.          }
  18.       } else {
  19.          // 默认图片路径
  20.          $post_thumbnail_src = null;
  21.       }
  22.    }
  23.    $_data['thumbnailurl'] = $post_thumbnail_src;

  24.    // if ( ! isset( $params['id'] ) ) {

  25.    unset( $_data['excerpt'] );

  26.    unset( $_data['author'] );

  27.    unset( $_data['featured_media'] );

  28.    unset( $_data['format'] );

  29.    unset( $_data['ping_status'] );

  30.    unset( $_data['comment_status'] );

  31.    unset( $_data['sticky'] );

  32.    unset( $_data['template'] );

  33.    // }

  34.    $data->data = $_data;

  35.    return $data;

  36. }
  37. add_filter( 'rest_prepare_post', 'dw_rest_prepare_post', 10, 3 );
复制代码





欢迎光临 5ucms论坛 (http://bbs.5ucms.com/) Powered by Discuz! X3.2