@ hrak имеет правильную идею, но в его ответе отсутствует контекст для тех из нас, кто не привык иметь дело с PHP.
В итоге я проверил, не существует ли уже фильтр для 'oembed_response_data'
в / WP-включает / по умолчанию-filters.php .Моя выглядела так:
add_filter( 'oembed_response_data', 'get_oembed_response_data_rich', 10, 4 );
Добавьте предыдущую строку к указанному файлу, если по какой-либо причине его там уже нет.
Впоследствии я зарегистрировался в wp-includes / embed.php для функции get_oembed_response_data_rich
, которая выглядела следующим образом:
function get_oembed_response_data_rich( $data, $post, $width, $height ) {
$data['width'] = absint( $width );
$data['height'] = absint( $height );
$data['type'] = 'rich';
$data['html'] = get_post_embed_html( $width, $height, $post );
// Add post thumbnail to response if available.
$thumbnail_id = false;
if ( has_post_thumbnail( $post->ID ) ) {
$thumbnail_id = get_post_thumbnail_id( $post->ID );
}
if ( 'attachment' === get_post_type( $post ) ) {
if ( wp_attachment_is_image( $post ) ) {
$thumbnail_id = $post->ID;
} elseif ( wp_attachment_is( 'video', $post ) ) {
$thumbnail_id = get_post_thumbnail_id( $post );
$data['type'] = 'video';
}
}
if ( $thumbnail_id ) {
list( $thumbnail_url, $thumbnail_width, $thumbnail_height ) = wp_get_attachment_image_src( $thumbnail_id, array( $width, 99999 ) );
$data['thumbnail_url'] = $thumbnail_url;
$data['thumbnail_width'] = $thumbnail_width;
$data['thumbnail_height'] = $thumbnail_height;
}
return $data;
}
Я просто добавил две строки кода, которые @hrak представил в своем ответе, чтобы удалить тег автора(имя и URL) от $data
до его возвращения:
function get_oembed_response_data_rich( $data, $post, $width, $height ) {
(...)
if ( $thumbnail_id ) {
list( $thumbnail_url, $thumbnail_width, $thumbnail_height ) = wp_get_attachment_image_src( $thumbnail_id, array( $width, 99999 ) );
$data['thumbnail_url'] = $thumbnail_url;
$data['thumbnail_width'] = $thumbnail_width;
$data['thumbnail_height'] = $thumbnail_height;
}
unset($data['author_url']);
unset($data['author_name']);
return $data;
}
Как и раньше, добавьте функцию get_oembed_response_data_rich
, если она еще не существует.Примерно через 5-10 минут встраивание ссылки Discord перестало отображать тег автора.
Источник: