Forum Replies Created
-
AuthorPosts
-
Anh Tran
KeymasterHi uththamag,
As Tan said in the previous reply, each field belongs to 1 column, so hiding a column probably break the layout unless we use a trick like above.
In the next couple of days, I will work on allowing multiple fields in a column, so you can hide/show them without problem. Please be patient.
Thanks
AnhAnh Tran
KeymasterYou're right. The Columns extension will wrap fields on 12 grid. That means two wysiwyg editors are in the same row and the remaining in the same row. There is a trick to wrap 3 columns in the same row, by setting the second column to column of 5 instead of 6:
array( 'name' => false, 'id' => "{$prefix}sect_editor", 'type' => 'wysiwyg', 'columns' => 6, 'raw' => true, 'options' => array( 'textarea_rows' => 15, 'wpautop' => false, ), ), array( 'name' => false, 'id' => "{$prefix}sect_editor2", 'visible' => ['uk_sect_layout', 'layout2'], 'type' => 'wysiwyg', 'columns' => 5, 'raw' => true, 'options' => array( 'textarea_rows' => 15, 'wpautop' => false, ), ), // Image Columns array( 'name' => esc_html__( 'Section Images', 'codice' ), 'id' => "{$prefix}sect_image", 'visible' => ['uk_sect_layout', 'layout1'], 'type' => 'image_advanced', 'columns' => 6, 'force_delete' => false, 'max_file_uploads' => 2, 'max_status' => false, ), // Layout options array( 'name' => esc_html__( 'Layout', 'codice' ), 'id' => "{$prefix}sect_layout", 'columns' => 3, 'type' => 'select', 'options' => array( 'layout1' => esc_html__( 'Image', 'codice' ), 'layout2' => esc_html__( '2 Columns', 'codice' ), ), ),Please try and let me know if you have any problem.
Cheers!
Anh Tran
KeymasterWe just updated the Columns extension yesterday with a better check for total columns (less than or greater than 12, it will close the div). But if you use with tabs, you still need to make sure total columns in each row equals to 12. Please update.
Regarding the new syntax, I was thinking about something advanced that can offer you more flexibility. But after looking at that, I see the change is only the
fieldsparameter (theclassas I replied can be achieved viaclassattribute). And with the support of Group extension, you can do that easily, including the nested columns.Here is what you can do with Groups (the syntax is very similar):
'fields' => array( array( 'type' => 'group', // A wrapper group 'id' => 'wrapper', 'fields' => array( array( 'id' => 'name', 'type' => 'text', 'columns' => 4 ), array( 'id' => 'subgroup', 'type' => 'group', 'columns' => 8, 'fields' => array(), // Array of other sub-sub fields ) ), ), ),Anh Tran
KeymasterDear uththamag,
Sorry to make you feel confusing, I've checked both Columns and Conditional Logic and see it works as your requested. Please see my example and let me know if you have further problems.
July 18, 2017 at 2:26 AM in reply to: show hide columns fields in a same raw using the conditional logic #6345Anh Tran
KeymasterDear uththamag,
Imagine you have a field to select layout like so:
array( 'name' => __( 'Layout', 'rwmb' ), 'id' => 'layout', 'type' => 'select', 'columns' => 12, 'options' => array( 'one' => '1 Col', 'two' => '2 Cols', 'three' => '3 Cols' ) ),To toggle a field with selected value, just add:
'visible' => ['layout', 'SELECTED_VALUE'],SELECTED_VALUE can be
one,two, orthreelike the above example.July 18, 2017 at 2:15 AM in reply to: How to hide Metabox group according to taxonomy selection? #6344Anh Tran
KeymasterDear xoomserve,
Here is the example which I've created with MB Builder:
add_filter( 'rwmb_meta_boxes', 'your_prefix_register_meta_boxes' ); function your_prefix_register_meta_boxes( $meta_boxes ) { $meta_boxes[] = array ( 'id' => 'untitled-metabox-2', 'title' => 'Untitled Metabox', 'pages' => array ( 'post', 'page', ), 'context' => 'normal', 'priority' => 'high', 'autosave' => false, 'fields' => array ( array ( 'id' => 'properties', 'type' => 'taxonomy', 'name' => 'Properties', 'taxonomy' => 'product_type', 'field_type' => 'select', ), array ( 'id' => 'another_text_field', 'type' => 'text', 'name' => 'Text Field', 'visible' => array ( 'when' => array ( array ( 'taxonomy_2', '=', '4', ), ), 'relation' => 'and', ), ), ), ); return $meta_boxes; }Basically, you can register your taxonomy field and another field normally. And then, in related field (Text in this example), just define your conditional logic:
'visible' => ['your_taxonomy_id', '=', 'taxonomy_value']Anh Tran
KeymasterHi,
How do you setup the columns to show?
Anh Tran
KeymasterHi, I don't want to much nested arrays. In case sub-fields in groups are organized in columns, there will be a nightmare of nested nested arrays.
After reviewing the code, I think we can still achieve everything by this code:
fields => array( array( 'columns' => 4, 'class' => 'custom-column-class', ), ),We have
classattribute for fields, so let's use it instead of creating another attribute.Anh Tran
KeymasterHi Jackky,
Your idea about column class is nice. Will think about it. The suggested syntax I think will be problematic if we use with groups. So let's just keep it as it is.
Anh Tran
KeymasterThanks a lot. Just fixed the bug with the editor!
Cheers
AnhAnh Tran
KeymasterJust added 2 options
submit_buttonandmessagefor you πAnh Tran
KeymasterHi,
I guess the problem is when you hook
send_mails_on_publish. Probably it's hook too soon, sooner when Meta Box updates post meta.Currently Meta Box uses
save_post_{$post_type}with priority = 10 to save post meta. You should hook after that (atsave_postor at the same hook with higher priority).Looking at the function params, I think you're using
transition_post_status. It's fired inwp_transition_post_statusfunction that runs beforesave_post_*hook.Anh Tran
KeymasterSomehow my code that remove slashed was removed from the released version. Probably it was an error while merging. I've just pushed a fix for that. Also added 2 options:
submit_buttonandmessagefor the text of submit button and successful message.Please update.
PS: Can you post the screenshot of your screen when replying this thread? Don't you see any button in the reply box?
Anh Tran
KeymasterHmm, can you post your full code here to check? Also, what is your PHP version and OS?
Anh Tran
KeymasterI understand the issue. Itβs what I designed to work like that. I will update the group to maintain the collapsible state.
-
AuthorPosts