Q:

Как корректно вывести ссылку с экранированием кавычек?

Есть ссылка, которая включает в себя функции, переменные и др. параметры с кавычками. Как корректно вывести строку, чтобы она корректно отображалсь на выходе? Проблема со ссылкой
echo "<a href='".bloginfo('url')."/ad-category/".mb_strtolower($category->name). "/' rel='tag' class='cp-fixed-color'>". $category->name. "</a>";

A:

Используйте urlencode()
$url = bloginfo('url')."/ad-category/".mb_strtolower($category->name). "/";
echo urlencode($url);

судя по всему bloginfo('url') у вас возвращает имя домена сайта, то есть site.ru. Тут во-первых ссылки надо указывать относительные (если они на свой же сайт), а во вторых экранировать имя домена, конечно не надо в таком случае.
Если ссылка на страницы вашего же сайта, то ссылка должна выглядеть как-то так
   $url = "/ad-category/".urlencode(mb_strtolower($category->name)). "/";

Если внешний, то $url = bloginfo('url').$url;
В общем говоря, с помощью urlencode кодируется не весь адрес, а передаваемые параметры, или те части адреса, который могут содерржать неоднозначности.

