If you’re using Timber and ACF Blocks I would like you to try https://github.com/palmiak/timber-acf-wp-blocks
You can declare blocks using file comments eg.
{#
Title: Testimonial
Description: Customer testimonial
Category: formatting
Icon: admin-comments
Keywords: testimonial quote "customer testimonial"
Mode: edit
Align: left
PostTypes: page post
SupportsAlign: left right
SupportsMode: false
SupportsMultiple: false
#}
<blockquote data-{{ block.id }}>
<p>{{ fields.testimonial }}</p>
<cite>
<span>{{ fields.author }}</span>
</cite>
</blockquote>
<style type="text/css">
[data-{{ block.id }}] {
background: {{ fields.background_color }};
color: {{ fields.text_color }};
}
</style>
If you’ll find a bug or something don’t hesitate to post an issue.
Hi,
I’m a big fan of Timber and ACF block and I really love the idea to register a block just by adding a template to a theme’s folder.
Does your plugin support Block styles variations ?
Hi @vinsan
Nice to hear you’re a fan of Timber and ACF š
I just read a bit about BSV and it’s looks like it’s more related to ACF itself than to my plugin. If something works in ACF than it should work in my plugin too. But I have good news – it works š I just tested it. The only problem is a bit related to the way how the thumbnails are generated (depends on the preview mode), but overall it works like a charm.
Hi – I’ll take a look on it during the upcoming days. On first sight it looks OK.
Also I’m planing to have a plugin version too.
Hi @palmiak,
I managed to use your script with a custom integration into my theme, it works perfectly, thanks a lot.
I tried to register block styles for a custom button with no success.
Can you show an example of the syntax ?
{#
Title: Bouton
Description: Theme button.
Category: common
Styles : ???
#}
Thanks,
Hi @palmiak,
It’s not really documented in ACF but I found this thread where Steffi explain how to declare block styles with acf_register_block_type() : https://support.advancedcustomfields.com/forums/topic/adding-block-styles-to-an-acf-custom-block/
I took a closer look at your plugin and manage to integrate styles.
Styles could be declared on a single line and separated with an underscore like this :
{#
Title: Bouton
Description: Theme button
Styles: btn--primary,Primary _btn--primary--sm,Primary S _btn--basic,Basic _btn--basic--sm,Basic S
#}
Each style is then exploded to be declared as a php array in your plugin :
// Support styles
if ( ! empty( $file_headers['styles'] ) ) {
$data['styles'] = array();
// Styles exploding with underscore '_'
$style = explode('_', $file_headers['styles']);
foreach ($style as &$value) {
// Styles data exploding with comma ','
// [1]=slug [2]=label
$style_data = explode(',', $value);
array_push($data['styles'], array('name' => $style_data[0],'label' => $style_data[1]));
}
}
I didn’t manage to make “isDefault’ style works but there seems to be a bug here with acf_register_block_type().
Best,
Can you post an image of your field group and conditional logic setup?
<?php
/* single.php */
$post = new Timber\Post();
if (isset($post->hero_image) && strlen($post->hero_image)){
$post->hero_image = new Timber\Image($post->hero_image);
I just tested this on a site with only ACF and WP, I tested with both ACF4 and ACF5. Iām not getting this error. Have you tried deactivating plugins or changing themes?
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
šØ The 2023 ACF Annual Survey closes tomorrow! This is your last chance to complete the survey and help guide the evolution of ACF. https://t.co/0cgr9ZFOJ5
— Advanced Custom Fields (@wp_acf) May 18, 2023
© 2023 Advanced Custom Fields.
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.