【问题标题】:Replace shortcode with a link用链接替换简码
【发布时间】:2016-09-09 23:48:52
【问题描述】:

首先抱歉问题格式不正确。这个不知道怎么写。

我的问题:

我创建了一个短代码,它从帖子 ID 中获取内容并在 Divi 主题(优雅主题 - Divi)的文本编辑器中呈现帖子内容。现在 Divi 发布了一个新的 Visual Builder,它不会输出简码,因为在启用 Visual Builder 时它无法解析它。但它显示何时未启用。

我的简码

function fetch_content_shortcode() {
global $post;
$id = "987453719"; // my post ID
ob_start();
$output = apply_filters('the_content', get_post_field('post_content', $id));
$output .= ob_get_contents();
ob_end_clean();
return $output;
}

add_shortcode('divi_content', 'fetch_content_shortcode'); 

现在我想将整个 [divi_content] 替换/转换为一个链接,该链接会将他们带到该自定义帖子类型的帖子(帖子 ID 987453719)。我怎样才能做到这一点。

感谢您的错误解释。

【问题讨论】:

  • 我看不到get_the_permalink() 的任何用法。也许这就是你需要的?
  • 不确定是否是拼写错误,但您的简码 [divi-content] 与“divi_content”的简码函数调用不匹配(破折号与下划线)
  • 我已更正错字。谢谢,但我仍在寻找解决方案。问题是 Divi 没有解析短代码,他们说这是默认行为。所以我想让整个短代码变成一个链接,或者在编辑器不解析它时隐藏它而不显示任何裸代码。谢谢

标签: wordpress shortcode


【解决方案1】:

function fetch_content_shortcode( ) { $link = get_the_permalink(get_the_ID()); return '<a href="'.$link.'" target="_blank">Click</a>'; } add_shortcode( 'divi_content', 'fetch_content_shortcode' );

【讨论】:

  • 谢谢,但问题是编辑器根本没有解析短代码 [divi_content]。所以链接参数在这里不适用。它在编辑器中显示了我想要更改或隐藏的原始 [divi_content]。希望我能做得更好。
  • 包装内容以过滤 apply_filters('the_content', $your_content);
猜你喜欢
  • 1970-01-01
  • 2013-07-12
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多