У меня есть плагин WordPress, который я пытаюсь исправить, очень старый, и автор не отвечает. У плагина было много устаревшего кода, который я уже исправил.Плагин представляет собой всплывающую подсказку в виде короткого кода.
Я сталкиваюсь с этой проблемой: после активации плагин добавляет (выводит) это ко всем сообщениям:
<html><body><p>
Неважно, если вы напишете что-то в посте или нет, пост выведет приведенный выше HTML.
Что-то не так в этой функции вывода, которая делает это возможным?это функция вывода:
открытая функция box_tooltips_shortcode ($ atts, $ text) {
extract(shortcode_atts(
array(
"header" => "",
"content" => "Tooltip Content",
"style" => $this->default_options["style"],
"position" => $this->default_options["position"],
"width" => "",
"custom_css_class" => "",
"custom_css" => "",
"custom_content_css" => "",
"focus" => "",
"tag" => $this->default_options["tag"],
"delay" => "",
"cursor" => "",
"event" => "",
"attr" => "",
),
$atts, $text
));
// Prepare atributes:
if ($focus == 1) {
$parts = explode("_", $position);
array_splice($parts, 1, 0, "focus");
$position = implode("_", $parts);
}
$position = "qlabs_tooltip_" . $position;
$delay = $delay != "" && $delay != 0 ? " delay_" . $delay : "";
$style = " qlabs_tooltip_" . $style;
$cursor = $cursor != "" ? " cursor_" . $cursor : "";
$event = $event != "" ? " event_" . $event : "";
$custom_css_class = $custom_css_class != "" ? " " . $custom_css_class : "";
$custom_content_css = $custom_content_css != "" ? " " . $custom_content_css : "";
// Generate output
$output = "<{$tag} class='{$position}{$style}{$delay}{$cursor}{$custom_css_class}{$event}' style='{$custom_css}' {$attr} aria-haspopup='true'>";
$output .= $text;
$output .= "<span " . ($width != "" ? "style='width: {$width}; {$custom_content_css}' " : "") . " >";
$output .= $header != "" ? "<strong>{$header}</strong>" : "";
$output .= $content;
$output .= "</span>";
$output .= "</{$tag}>";
// Check if click event is selected, required for loading JS code
if( strpos($event, 'click')!==false ) {
global $box_tooltips_js;
$box_tooltips_js = true;
}
return $output;
}
Плагин выводит этот HTML-код на все сообщения без причины: <html><body><p>
Его шорткод неправильно отображает только текст шорткода.