положить PHP-код в другой PHP-код! Возможный? - PullRequest
0 голосов
/ 02 октября 2009

Я пользователь WordPress, и у меня есть php-код, и в этом php-коде есть область для вставки URL: $url = "http://blabla.com"; В WordPress вы можете вызывать постоянные ссылки на пост с этим кодом: <?php the_permalink(); ?> Что я хочу сделать, это положить <?php the_permalink(); ?> вместо http://blabla.com выше в коде php. Цель состоит в том, чтобы: получение постоянных ссылок помещало их в код php и позволяло коду php использовать их для выполнения своей работы. Это возможно? Если да, то как с примером, пожалуйста ... Спасибо ...

Ответы [ 3 ]

4 голосов
/ 02 октября 2009

Вы можете присвоить возвращаемое значение get_permalink() для $url:

<?php $url = get_permalink(); ?>

get_permalink() отличается от the_permalink() тем, что не отображает ссылку, а просто возвращает ее. (Первоначально этот ответ наивно использовал the_permalink(), но я провел дополнительное исследование, чтобы быть уверенным.)

2 голосов
/ 02 октября 2009

Ответ выше не будет работать. Используйте get_permalink ().

the_permalink отобразит его вывод

get_permalink вернет значение.

<?php $url = get_permalink(); ?>
0 голосов
/ 04 октября 2009

Вам необходимо понять концепцию некоторых тегов шаблонов , поскольку the_permalink подходит для этой категории. Они определены специально для использования в темах WordPress. Их можно обобщить как «код, который инструктирует WordPress« делать »или« получать »что-то».

Запись the_permalink просто повторяет постоянную ссылку в вашем шаблоне. Это не то, что вы получаете в php-функции и манипулируете ею. Это просто повторяет html информации, которую нужно показать.

Это полезно для дизайнеров, разрабатывающих файлы шаблонов в темах Wordpress: им не нужно разбираться в программировании или большом количестве ключевых слов php: им просто нужно знать, что написание «the_permalink» дает им желаемый вывод html .

То, что вы пытаетесь сделать, это получить вывод из тега шаблона, который уже выводит его значение. Вам нужно использовать другой тег шаблона, который ВОЗВРАЩАЕТ значение, которое вы хотите использовать, вместо того, чтобы ВЫБРАТЬ его.

В вашем примере вам нужна get_permalink . Поскольку the_permalink используется в Loop , вам необходимо предоставить идентификатор записи для вашей функции get_permalink.

Есть и другие примеры, которые соответствуют той же проблемной области: например, я не могу манипулировать тем, что возвращает wp_list_pages (потому что он автоматически выводит свой результат), поэтому мне нужно get_pages (который возвращает массив), чтобы манипулировать его результатом.

Прочитайте официальную документацию Wordpress на Кодексе. Это здорово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...