WordPress如何在社交分享内容中添加自定义文本与链接
WordPress自定义社交分享(重点适配WhatsApp)追加自定义内容方案
以下是两种可直接落地的实现方法:
方案1:基于现有分享插件的钩子修改(改动最小)
绝大多数主流社交分享插件、SEO插件都预留了分享内容的过滤钩子,你不需要改动插件核心代码,只需要在当前活跃主题的functions.php文件中加入对应过滤代码即可。
通用适配示例如下,你只需要替换对应插件的钩子名即可生效:
// 自定义WhatsApp分享内容 add_filter('对应插件的WhatsApp分享内容钩子名', function($share_content, $post_id) { // 获取文章默认分享标题和链接 $post_title = get_the_title($post_id); $post_link = get_permalink($post_id); // 自定义追加的社交账号提示内容 $append_content = " / follow us on social media sites - twitter - 你的Twitter链接, instagram - 你的Instagram链接"; // 拼接最终内容,WhatsApp分享内容需要做URL编码避免乱码 $final_content = urlencode($post_title . ' - ' . $post_link . $append_content); return $final_content; }, 10, 2);
注意:不同插件的钩子名不同,比如Yoast SEO对应钩子为
wpseo_og_title、wpseo_og_description,ShareThis对应钩子为sharethis_whatsapp_message,你可以查阅对应插件的开发者文档获取准确钩子名。
方案2:完全自定义分享按钮(等价于MODX的Chunk方案)
如果你不想依赖插件的钩子,完全可以自己实现分享按钮的模板片段,和MODX中创建自定义Chunk的逻辑完全一致:
- 在当前主题目录下新建一个名为
template-parts/custom-share-buttons.php的文件(对应MODX的Chunk功能),写入自定义的分享按钮代码,示例如下:
<?php // 全局获取当前文章信息 global $post; $share_title = get_the_title($post->ID); $share_link = get_permalink($post->ID); $custom_append = " / follow us on social media sites - twitter - 你的Twitter链接, instagram - 你的Instagram链接"; // 构造WhatsApp分享链接 $whatsapp_share_link = 'https://api.whatsapp.com/send?text=' . urlencode($share_title . ' - ' . $share_link . $custom_append); ?> <!-- WhatsApp分享按钮 --> <a href="<?php echo esc_url($whatsapp_share_link); ?>" target="_blank" rel="noopener noreferrer"> 分享到WhatsApp </a> <!-- 你可以按照同样逻辑添加其他平台的分享按钮 -->
- 在你需要显示分享按钮的位置(比如文章详情页模板
single.php),调用这段模板片段即可,调用代码如下:
<?php get_template_part('template-parts/custom-share-buttons'); ?>
注意事项
- WhatsApp分享的内容是纯文本格式,HTML标签不会生效,不需要加
<a>标签,直接放链接文本即可,平台会自动识别可点击的链接。 - 所有分享内容拼接后必须做URL编码,避免特殊字符导致分享内容错乱。
内容的提问来源于stack exchange,提问作者Mayanktaker
相关产品推荐
相关产品推荐

