WordPress环境:使用短码的动态页面-如何更改页面名称以进行共享

时间:2019-06-08 作者:Debbie Kurth

我正在WordPress环境中创建一个动态页面。该页面由默认的标准WordPress页面创建,然后使用快捷码。与URL参数相结合,以检索必要的数据。

问题是,这个页面,包括URL参数,可以“共享”到facebook和其他社交媒体。因此,出现的描述过于笼统。我假设这是因为短代码所在的默认页面也是通用的。这就是我想要根据我正在检索以显示的数据进行更改的内容。

我尝试了下面的代码和其他一些变体,但没有成功。事实上,甚至没有执行过滤器。已尝试将筛选器嵌入到add\\u操作调用中。。操作调用已完成,但筛选器仍保持执行状态。

 add_filter(\'wp_title\',\'ChangeTitle\', 10, 2);   
 function ChangeTitle($title, $id)
    {
    if ( $title== \'Details\' ) 
       {
       $BusinessName = $_GET[\'Name\'];   
       return $BusinessName;
       }
 return $title; 
 }
有人有聪明的方法做到这一点吗?问题的第二部分是如何为共享分配徽标。。。。但一次只能做一件事。

2 个回复
SO网友:Paul G.

因此,根据您的主题,您需要采取不同的方法。听起来,您使用的主题添加了WordPress主题支持title-tag e、 二十世纪十九年代。在这种情况下,您的代码如下所示:

function add_dynamic_title( $aTitleParts ) {

    if ( isset( $aTitleParts[ \'title\' ] ) && $aTitleParts[ \'title\' ] == \'Details\' ) {
        $aTitleParts[ \'title\' ] = $_GET[ \'Name\' ];
    }

    return $aTitleParts;
}

add_filter( \'document_title_parts\', \'add_dynamic_title\', 20 );
此筛选器使用一个数组,其中包含一个键title 也许tagline. 因此,在本例中,您为title 返回所有数组。

SO网友:Max Yudin

以下代码使您能够使用[facebook_title] 标题中的短代码和[facebook_description] 分别地

如果您使用任何一个EAST SEO、SEOPress或All-in-One SEO Pack插件,请主要在此处添加这些短代码。

删除未使用插件中激活短代码的行。

// get your special title
function my_facebook_title() {
    return get_post_meta( get_the_ID(), \'post_meta_facebook_title\', true );
}

// get your special description
function my_facebook_description() {
    return get_post_meta( get_the_ID(), \'post_meta_facebook_description\', true );
}

// add hooks to shortcodes
add_shortcode( \'listing_title\', \'my_facebook_title\' );
add_shortcode( \'listing_description\', \'my_facebook_description\' );


// activate shortcode in the post headline
add_filter( \'the_title\', \'do_shortcode\' );

// activate shortcode for the single post <title>
add_filter( \'single_post_title\', \'do_shortcode\' );

//// Plugins (optional)

// activate shortcodes in SEOPress
add_filter( \'seopress_titles_title\', \'do_shortcode\' );
add_filter( \'seopress_titles_desc\', \'do_shortcode\' );


// activate shortcodes in Yoast SEO
add_filter( \'wpseo_title\', \'do_shortcode\' );
add_filter( \'wpseo_metadesc\', \'do_shortcode\' );


// activate shortcodes in All in One SEO Pack
add_filter( \'aioseop_title\', \'do_shortcode\' );
add_filter( \'aioseop_description\', \'do_shortcode\' );
Update: 添加了SEOPress和多合一SEO包支持。