Внутренние ссылки на страницы в PHP?

3 мая 2012 г., 11:59:30
Просмотры: 19.8K
Голосов: 3

Какой лучший способ создания ссылок на страницы WordPress с помощью PHP? Учитывая, что я перемещаю страницу с локального сервера на рабочий сервер с другим URL?

<a href="/wordpress/services" title="Читать далее" class="yellowButton">Читать далее</a> 

Как можно заменить этот код с помощью PHP-ссылки на страницу WordPress.

/wordpress/services
2
Комментарии

Может быть, это покажется глупым вопросом, но я хотел бы узнать, какое решение лучше для ссылок на страницы: ссылаться напрямую на ID или на название страницы. Я не понимаю страницу WordPress Codex. Может ли кто-нибудь привести пример на PHP?

Josh Josh
3 мая 2012 г. 12:18:22

Что вам известно о странице? Заголовок? ID страницы? Ничего?

Chip Bennett Chip Bennett
3 мая 2012 г. 16:27:03
Все ответы на вопрос 4
0

Постоянная ссылка страницы по $id

Если вам известен $id страницы, используйте функцию get_permalink():

<?php $permalink = get_permalink( $id ); ?>

Постоянная ссылка страницы по $slug

Если вам известен $slug страницы, например /about (включая иерархию, например /about/work), используйте функцию get_page_by_path() для определения $id страницы, затем примените get_permalink().

<?php
$page_object = get_page_by_path( $slug );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Постоянная ссылка страницы по $title

Если вам известно название страницы $title, например "Какое-то случайное название страницы", используйте функцию get_page_by_title(), затем примените get_permalink():

<?php
$page_object = get_page_by_title( $title );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>
3 мая 2012 г. 19:45:23
0

Хотите найти их по названию? Если да, то вы можете

<a href="<?php echo site_url('/services'); ?>"> Услуги </a>
28 дек. 2019 г. 19:50:48
0

Если вам нужно жестко прописать '/page-names', вы можете использовать функцию home_url('/wordpress/services') вместе с esc_url() для санации URL - это всегда будет возвращать полный URL домашней страницы (локально или на боевом сервере).

<a href="<?php echo esc_url( home_url( '/wordpress/services' ) ); ?>"
 title="Подробнее" class="yellowButton">
 Подробнее
</a> 
10 апр. 2018 г. 00:35:12
0
-1

Вы можете использовать шорткод для вставки имени домена во внутреннюю ссылку, а затем просто добавить URL страницы в конце, например [domain_name]/название-страницы.

Добавьте этот код в файл function.php вашей дочерней темы, и он готов к использованию!

//добавляем шорткод, который отображает текущее имя сайта
function domain_name(){
$currentDomain = "вашсайт.com";
return $currentDomain;
}

add_shortcode('domain_name', 'domain_name');

Я протестировал это на нескольких работающих сайтах, и всё работает идеально.

Надеюсь, это то, что вы искали!

9 апр. 2018 г. 16:37:15