Вопрос или проблема
Мне нужно извлечь номер пути URL для шорткода… Вот пример ниже…
Мне нужно, чтобы номер “1” отображался с помощью шорткода…
[url_path_number]
Вы можете найти это с помощью чего-то подобного следующему
add_shortcode( 'url_path_number', function ( $atts ) {
// используйте атрибут или текущий URL
$a = shortcode_atts( array(
'url' => get_permalink(),
), $atts );
// получите путь из URL
$path = parse_url($a['url'],PHP_URL_PATH);
$parts = array_filter(explode("https://wordpress.stackexchange.com/", $path),function($v) { return $v !== ''; });
// получите последний каталог пути
return end($parts);
} );
Использование шорткода вернёт текущий URL
[url_path_number]
или вы можете указать URL
[url_path_number url="https://example.com/page/c/1"]
ОБНОВЛЕНИЕ:
чтобы получить только после пути и не использовать get_permalink()
add_shortcode( 'url_path_number', function ( $atts ) {
$a = shortcode_atts( array(
'path' => $_SERVER['REQUEST_URI'],
), $atts );
$parts = array_filter(explode("https://wordpress.stackexchange.com/",$a['path']),function($v) { return $v !== ''; });
return end($parts);
} );
.
Ответ или решение
Для того чтобы отобразить номер из URL пути на странице WordPress, можно воспользоваться шорткодом. В вашем случае необходимо создать функционал, который будет извлекать число (например, "1") из указанного URL. Вот подробное руководство по созданию шорткода, который решит вашу задачу.
Шаги по созданию шорткода
- Создание шорткода:
В первую очередь, вам нужно добавить код в файлfunctions.php
вашей темы (или в плагин, если вы его используете). Этот код будет обрабатывать шорткод[url_path_number]
.
add_shortcode('url_path_number', function($atts) {
// Используем атрибуты для извлечения URL или берем текущий URI
$a = shortcode_atts(array(
'path' => $_SERVER['REQUEST_URI'],
), $atts);
// Разбиваем путь на части
$parts = array_filter(explode('/', $a['path']), function($v) { return $v !== ''; });
// Проверяем и возвращаем последний элемент массива
return end($parts) ?: 'N/A'; // Вернем 'N/A', если элемент не найден
});
-
Использование шорткода:
После добавления кода вfunctions.php
, вы можете использовать шорткод на своей странице или в посте следующим образом:-
Для получения номера из текущего URL:
[url_path_number]
-
Для указания конкретного URL:
[url_path_number path="/page/c/1"]
-
Как это работает?
-
Функция
shortcode_atts
позволяет задавать значения по умолчанию для атрибутов шорткода. В данном случае, если атрибутpath
не передан, функция берет текущий запрос к странице ($_SERVER['REQUEST_URI']
). -
Функция
explode
разбивает строку URL на части по символу/
, аarray_filter
очищает массив от пустых значений. -
Функция
end
возвращает последний элемент массива, который, как ожидается, должен содержать желаемый номер.
SEO оптимизация
Использование шорткодов может улучшить пользовательский опыт, так как позволяет динамически выводить контент. При этом следует помнить о следующих моментах:
-
Качество контента: Убедитесь, что представленный номер имеет смысл для страницы и не уменьшает ценность контента для пользователя и поисковых машин.
-
Оптимизация скорости: Для увеличения скорости загрузки страницы, убедитесь, что шорткод не вызывает избыточных запросов к базе данных.
Заключение
Создание шорткода для извлечения номера из URL – это простой и эффективный способ добавления динамического контента на ваши страницы в WordPress. Воспользуйтесь приведённым выше кодом и рекомендациями, чтобы наладить функциональность на своём сайте.Если у вас остались вопросы или требуется дополнительная помощь, не стесняйтесь обращаться к сообществу WordPress или искать решения в документации.