我使用此函数获取内容区域中的post页面标题:
function myshortcode_title( ){
return get_the_title();
}
add_shortcode( 'page_title', 'myshortcode_title' );因此,我有一个插件,当我在它下面使用这个短代码时,它读到了短代码之间的文本甲虫:
[responsivevoice voice="UK English Male"] Wonderful World [/responsivevoice]所以,我正在做的--这也是我的问题--我怎样才能把“页面标题的短代码”放到responsivevoice这样的短代码中呢?
[responsivevoice voice="UK English Male"] [page_title] [/responsivevoice] (它应该有帖子的标题,但不起作用)。
发布于 2018-02-25 01:31:06
选择下列选项之一,并在后面添加代码段:
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" /]https://stackoverflow.com/questions/48965235
复制相似问题