如何忽略自定义修改获取产品全名

时间:2020-07-29 作者:Pardaigle

我在我的店铺页面上添加了一个过滤器来简化产品名称。这是我使用的代码

add_filter(\'the_title\', \'mod_product__title\', 10, 2);
function mod_product__title($title, $id) {
    global $pagenow;
    if ( $pagenow != \'edit.php\' && get_post_type( $id ) == \'product\' ) {
        if(preg_match(\'/[^(:|.)]*/\', $title, $matches)){
            return trim($matches[0]);
        }else{
            return $title;
        }
    }
    return $title;
}
正如你在主页上看到的https://www.librairiedesarchives.com/如果您点击;基思·桑尼尔;您只能在产品页面上看到他的完整产品名称。

Problem is : 当我使用按钮通过邮件共享页面时(产品页面上的“联系人”按钮),页面名称是前面的自定义代码简化的名称。

目前,我使用此代码获取电子邮件页面的名称

add_shortcode( \'custom_mailto_title\', \'custom_mailto_title\' );

function custom_mailto_title( $atts ) {
    return esc_attr( get_the_title( get_the_ID() ) );
}
How Can I 使用此按钮获取页面的全名,同时在商店页面上简化产品标题?

谢谢

1 个回复
最合适的回答,由SO网友:shanebp 整理而成

您也可以通过这种方式获取标题,并避免筛选:

$title = get_post_field( \'post_title\', $post_id, \'raw\' );