#php #wordpress #str-replace
#php #wordpress #str-replace
Вопрос:
Я перепроектирую механизм шаблонов моего одного из плагинов WordPress. Таким образом, пользователи могут настраивать дизайн в соответствии со своими потребностями. Для этой цели. я запрашиваю строку формата шаблона с некоторыми параметрами, которые я могу заменить позже.
Пример строки шаблона :
$template = '<a href="%POST_URL%" title="%POST_TITLE%"><img src="%POST_THUMB%" /></a>';
Код:
$temp .= $template;
$temp = str_replace("%POST_TITLE%", $ptitle, $temp);
$temp = str_replace("%POST_URL%", the_permalink(), $temp);
$temp = str_replace("%POST_THUMB%", lead_img_thumb_post($width ,$height ,$imagepath ,$icontype ), $temp);
Вывод:
%POST_URL%%POST_URL%%POST_URL%<a href="" title="%POST_TITLE%"><img src="%POST_THUMB%" /></a><a href="" title="%POST_TITLE%"><img src="%POST_THUMB%" /></a><a href="" title="%POST_TITLE%"><img src="%POST_THUMB%" /></a>
Почему %POST_URL% продвигается вперед
Комментарии:
1. Попробуйте изменить имена переменных
2.
$temp
Пусто, когда вы добавляете$template
к ней?3. Совет: str_replace поддерживает массивы.
Ответ №1:
Вместо этого вам нужно использовать get_the_permalink()
. the_permalink()
выводит ссылку в направлении браузера. Использование get_whatever()
вместо этого приведет к тому, что WP вернет данные вместо их вывода.