Объединение функций плагина Wordpress

64
9

Я пытаюсь добавить дополнительную информацию в свои подписи к изображениям. (см. пример на моем сайте) Я нашел плагин, который добавляет дополнительное поле в подпись, и я пытаюсь увеличить его в соответствии с моими потребностями.

Плагин - Image Credit, и он добавляет 2 строки в загрузчик изображений - один для исходного текста и другой для ссылки. У меня есть еще один плагин под названием Media Tags, который позволяет применять теги к изображениям. В приведенной ниже функции я связал, чтобы добавить теги мультимедиа с помощью $ mt_terms.

add_filter( 'img_caption_shortcode', 'wp_image_credit_img_caption_shortcode', 10, 3 );
function wp_image_credit_img_caption_shortcode($attr, $content, $html){
global $post;
$content = (object)$content;
$credit = wp_image_credit_get_credit_link(substr($content->id, strpos($content->id, "_") + 1));
$mt_terms = the_mediatags($post->id);

$result = <<<END
<div id="{$content->id}" class="wp-caption {$content->align}" style="width: {$content->width}px">{$html}</span><p class="wp-caption-text"> {$content->caption} <div style="float: right; width: 50%;"><p class="wp-caption-text"></br>$credit</p></div><div style="float: left; width: 50%;"><p style="font-size:12px"></br> tags: $mt_terms </style></p></div></div>
END;
return $result;
}

Любой совет?

@Filipe Я собираюсь больше этого маршрута:

 add_filter( 'img_caption_shortcode', 'wp_image_credit_img_caption_shortcode', 10, 3 );
function wp_image_credit_img_caption_shortcode($attr, $content, $html){
global $post;
$content = (object)$content;
$credit = wp_image_credit_get_credit_link(substr($content->id, strpos($content->id, "_") + 1));

$mt_terms = 'Tags: ';
$tags = (array)wp_get_object_terms($post->ID, MEDIA_TAGS_TAXONOMY);
if ($tags) {
foreach($tags as $tag_item)
$mt_terms = $mt_terms . ',' . $tag_item->name;
}
else
$mt_terms = "postID: $post->ID";

$result = <<<END
<div id="{$content->id}" class="wp-caption {$content->align}" style="width: {$content->width}px">{$html}</span><p class="wp-caption-text"> {$content->caption} <div style="float: right; width: 50%;"><p class="wp-caption-text"></br>$credit</p></div><div style="float: left; width: 50%;"><p style="font-size:12px"></br> tags: coming soon! $mt_terms </style></p></div></div>
END;
return $result;
}

спросил(а) 2021-01-25T14:43:16+03:00 5 месяцев назад
1
Решение
99

Не уверен, что я понял, что вы хотите, но лучший способ добавить информацию в сообщение - это использовать пользовательские поля, которые можно прочитать позже с кодом, подобным этому:

get_post_meta( $post->ID, 'MyCustomField1', TRUE );

Надеюсь, это поможет.

ответил(а) 2021-01-25T14:43:16+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема