Пользовательский заголовок страницы в другом шорткоде
Я использую эту функцию, чтобы получить заголовок страницы сообщения в области содержимого:
function myshortcode_title( ){
return get_the_title();
}
add_shortcode( 'page_title', 'myshortcode_title' );
Итак, у меня есть плагин, который при использовании этого шорткода ниже читает текст между шорткодами:
[responsivevoice voice="UK English Male"] Wonderful World [/responsivevoice]
Итак, что я делаю, и это также мой вопрос: как я могу поместить "короткий код заголовка страницы" в короткий код responseivevoice, как это?
[responsivevoice voice="UK English Male"] [page_title] [/responsivevoice]
(Должен получить заголовок страницы сообщения, но это не работает).
1 ответ
Выберите один из следующих параметров и добавьте фрагмент кода после:
add_shortcode( 'page_title', 'myshortcode_title' );
Опция 1: [responsivevoice2]
add_shortcode( 'responsivevoice2', 'responsivevoice2' );
function responsivevoice2( $atts = array(), $content = '' ) {
if ( $content = do_shortcode( $content ) ) {
return RV_add_bblisten( $atts, $content );
}
return '';
}
Пример использования:
[responsivevoice2 voice="UK English Male"] [page_title] [/responsivevoice2]
Этот шорткод позволяет вам использовать [page_title]
или любые другие шорткоды в тексте для произнесения.
Вариант № 2: [responsivevoice_page_title]
Этот шорткод всегда будет использовать заголовок страницы (или заголовок текущего сообщения) в качестве текста, который будет произноситься. С этим шорткодом вам не нужно [page_title]
Шорткод больше.
add_shortcode( 'responsivevoice_page_title', 'responsivevoice_page_title' );
function responsivevoice_page_title( $atts = array() ) {
if ( $page_title = get_the_title() ) {
return RV_add_bblisten( $atts, $page_title );
}
return '';
}
Пример использования:
[responsivevoice_page_title voice="UK English Male" /]