некоторые пользовательские сообщения не показывают предварительный просмотр URL-адреса в facebook, а некоторые делают - PullRequest
0 голосов
/ 12 июля 2020

Я создал плагин для wordpress, который извлекает данные из API и создает собственные сообщения. Также я установил избранное изображение для публикации на основе данных, взятых из API. Моя проблема в том, что некоторые сообщения показывают предварительный просмотр URL-адреса с изображением правильно, но некоторые сообщения не показывают предварительный просмотр URL-адреса с изображением.

Например:

https://expertrepublic.com/curveup показывает предварительный просмотр URL-адреса правильно при публикации на facebook. Но https://expertrepublic.com/santhosh-rupert неправильно отображает предварительный просмотр URL. Размер избранного изображения составляет 300 * 300.

Это код, который я использовал для установки избранного изображения

// Add Featured Image to Post
            $url              = $this->getImageUrl($expert_profilepic);
            $image_url        = $url; // Define the image URL here
            $image_name_main  = substr("$expert_profilepic", strrpos("$expert_profilepic", '/') + 1);
            $image_name       = 'profileImage.png';
            $upload_dir       = wp_upload_dir(); // Set upload folder
            $image_data       = file_get_contents($image_url); // Get image data
            $unique_file_name = wp_unique_filename( $upload_dir['path'], $image_name ); // Generate unique name
            $filename         = basename( $unique_file_name ); // Create image file name
            
            // Check folder permission and define file location
            if( wp_mkdir_p( $upload_dir['path'] ) ) {
                $file = $upload_dir['path'] . '/' . $filename;
            } else {
                $file = $upload_dir['basedir'] . '/' . $filename;
            }

            // Create the image  file on the server
            file_put_contents( $file, $image_data );

            // Check image file type
            $wp_filetype = wp_check_filetype( $filename, null );

            // Set attachment data
            $attachment = array(
                'post_mime_type' => $wp_filetype['type'],
            );

            // Create the attachment
            $attach_id = wp_insert_attachment( $attachment, $file, $inserted_expert );

            // Include image.php
            require_once(ABSPATH . 'wp-admin/includes/image.php');

            // Define attachment metadata
            $attach_data = wp_generate_attachment_metadata( $attach_id, $file );

            // Assign metadata to attachment
            wp_update_attachment_metadata( $attach_id, $attach_data );

            // And finally assign featured image to post
            set_post_thumbnail( $inserted_expert, $attach_id );

Эта проблема возникает только при публикации в facebook. На других платформах предварительный просмотр URL отображается правильно. Пример: Twitter, Slack, WhatsApp и т. Д. c ..

...