如何在TinyMCE WYSIWYG编辑器中添加自定义文章类型归档链接至建议列表?
嘿,我懂你想要的效果——不用手动敲URL,直接在TinyMCE的链接建议列表里就能找到case-studies自定义文章类型的归档页面,对吧?这完全可以实现,给你两种靠谱的方案:
方案一:通过代码钩子自定义链接建议(推荐,无插件依赖)
WordPress提供了wp_link_query钩子,可以用来过滤TinyMCE链接弹窗里的建议结果。你只需要把下面的代码添加到主题的functions.php文件里,或者自定义插件中:
add_filter( 'wp_link_query', 'add_case_studies_archive_to_link_suggestions' ); function add_case_studies_archive_to_link_suggestions( $results ) { // 确认自定义文章类型存在 if ( post_type_exists( 'case-studies' ) ) { // 获取归档页面的URL和显示标题 $archive_url = get_post_type_archive_link( 'case-studies' ); $archive_title = get_post_type_object( 'case-studies' )->labels->name; // 构造归档页面的条目 $archive_entry = array( 'ID' => 0, // 归档页面没有常规post ID,用0占位即可 'title' => $archive_title, 'permalink' => $archive_url, 'info' => 'Case Studies Archive' // 显示在链接建议里的辅助说明 ); // 将归档条目插入到建议列表的最前面(也可以用array_push放到末尾) array_unshift( $results, $archive_entry ); } return $results; }
添加完代码后,刷新WordPress后台,打开TinyMCE的链接弹窗,你就能在建议列表顶部看到case-studies的归档页面了!
额外说明:
- 如果你的站点有多个自定义文章类型需要添加归档链接,可以修改代码,通过循环来批量添加所有开启了归档的自定义文章类型。
- 确保你的
case-studies自定义文章类型在注册时设置了has_archive => true(既然你已经有archive-case-studies.php模板且页面正常显示,这点应该已经满足了)。
方案二:使用插件实现(适合不想写代码的场景)
如果你不想手动写代码,可以尝试使用TinyMCE Advanced插件,它扩展了TinyMCE的功能,其中就包含自定义链接源的选项。安装激活后,在插件设置里找到链接相关的配置,就能添加自定义文章类型的归档页面到链接建议中。
不过相比插件,代码方案更轻量,不会增加不必要的站点负担,所以更推荐第一种方法。
内容的提问来源于stack exchange,提问作者Jonathan Hodgson
相关产品推荐
相关产品推荐

