Я потратил на это часы и не могу найти способ решить мою проблему, поэтому подумал, что внешний взгляд действительно поможет.
Я запрограммировал шорткод WordPress для лучшего управления загруженными фотографиями в моем портфолио. Я использую местозаполнитель URL-кодированный SVG для предотвращения перекомпоновки содержимого.
svg хранится в переменной и содержит кавычки. SVG возвращается с остальным шорткодом. Однако кавычки, окружающие элемент xmlns SVG, не возвращаются.
Вот мой код:
function img_shortcode( $atts , $content = null ) {
// Attributes
$atts = shortcode_atts(
array(
'caption' => 'no',
'src' => '',
'name' => 'media',
'captionclass' => 'caption',
'width' => '0',
'height' => '0',
),
$atts,
'img'
);
$urlsvg = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 ". $atts['width'] ." ". $atts['height'] ."'%3E%3C/svg%3E";
if($atts['caption'] == 'yes')
{
return '<figure class="container"><img class="lozad" src="' . $urlsvg . '" data-src="' . $atts['src'] . '" alt="' . $atts['name'] . '" /><figcaption class="' . $atts['captionclass'] . '">'.$content.'</figcaption></figure>';
}
else{
return '<img class="lozad" src="' . $urlsvg . '" data-src="' . $atts['src'] . '" alt="' . $atts['name'] . '" />';
}
}
add_shortcode( 'img', 'img_shortcode' );
А вот что возвращается:
<figure class="container"><img class="lozad" src="data:image/svg+xml,%3Csvg xmlns=http://www.w3.org/2000/svg viewBox='0 0 1300 1248'%3E%3C/svg%3E" data-src="linktotheimage" alt="alttextofimg"><figcaption class="caption">Caption text.</figcaption></figure>
Я ни в коем случае не эксперт php, на самом деле я уверенчто я упускаю что-то, что будет наиболее очевидным для всех остальных, но я не могу понять, что мешает вернуть мои цитаты.
Я пытался заменить одинарные кавычки на двойные, и результат был таким же.
Спасибо,