为 Slick Slider 和 ACF 创建简码

Posted

技术标签:

【中文标题】为 Slick Slider 和 ACF 创建简码【英文标题】:Create Shortcode for Slick Slider & ACF 【发布时间】:2020-04-15 05:25:34 【问题描述】:

我正在构建一个 WP 站点,并想插入一个我已经开始使用 Slick Slider 作为简码构建的滑块。

我创建了自定义字段(一个带有图像、三个文本输入和一个页面链接的转发器),我只在我的主页上显示它们。我理想的工作流程是客户端只编辑主页上的这组字段以添加和删除幻灯片,而放置在页面构建器中的短代码将呈现它。

这可能吗?

我不希望仅仅为了在主页上获得幻灯片而制作 CPT,但如果这是应该走的路线,我可以。我目前正在创建模板文件,该文件具有单独的幻灯片标记和用于拉取字段的循环,但如果有帮助可以分享。我真的只需要有关如何创建简码的帮助...我不理解我在 WordPress 文档中阅读的页面。

【问题讨论】:

您好,您可以将此代码放在您的functions.php中,只需编辑您文件的路径 [my-slider] 将是您的短代码 function slider_main() ob_start(); get_template_part('路径/到/文件');返回 ob_get_clean(); add_shortcode('my-slider', 'slider_main'); 【参考方案1】:

这绝对是可行的。创建简码功能时,只需参考主页 id。

function gallery_shortcode()
  $pageID = get_option('page_on_front');
  if(get_field('slider',$pageID):
    $content = "<div id="slider">;
    while(have_rows('slider', $pageID): the_row();
      $image = wp_get_attachment_image(get_sub_field('image'),'full');
      $content = '<div class="single-slide">';
      $content = $image;
      $content = '<p>'.get_sub_field("text_link").'</p>';
      $content = '</div>';
    endwhile;
    $content = "</div>";
  endif;
return $content;

add_shortcode("gallery","gallery_shortcode");

【讨论】:

以上是关于为 Slick Slider 和 ACF 创建简码的主要内容,如果未能解决你的问题,请参考以下文章

将 ACF 字段传递给简码

Slick Slider - 从另一个页面创建链接

无法解析 acf 字段中的简码(wordpress)

Slick Slider 上的自定义 V 形和圆圈 - 单击后圆圈消失

ACF 默认值中的简码仅在保存帖子后才有效

Slick slider ().slick 不是 Wordpress PHP 的函数