Forum Replies Created
-
AuthorPosts
-
Anh Tran
KeymasterIf the field is updating, that means it still saves values in the post meta. Can you verify that?
And did you put all the fields in one meta box?
Anh Tran
KeymasterYou can set
query_argsparameter forfromandtoto limit the query. If you know the IDs of selected items, you can do this:MB_Relationships_API::register( [ 'id' => 'posts_to_pages', 'from' => [ 'post_types' => 'post', 'query_args' => [ 'post__in' => [1,2,3], 'posts_per_page' => 10 ], ], 'to' => 'page', ] );Anh Tran
KeymasterI don't see anything wrong here. Do you see other fields saved in the database?
Anh Tran
KeymasterHi Will,
For WP_Query, the plugin doesn't integrate with it. You need to perform an extra query to get the posts you want, then use the returned ID to create your own WP_Query.
global $wpdb; $ids = $wpdb->get_col( "SELECT ID FROM your_table WHERE field1='value1' OR field2='value2'" ); $query = new WP_Query( [ 'post_type' => 'post', 'post__in' => $id, ] );Anh Tran
KeymasterProbably you need to increase the length for the field. The value of image field is an array of IDs, which will be serialized before saving in the database.
For example, if you have 2 images
[12, 34], then the value will bea:2:{i:0;i:12;i:1;i:34;}. It's longer than what we think 🙂Anh Tran
KeymasterHi ComSi,
Have you ever drag and drop the meta boxes? If you have, then WP will save the position/location of them and makes the "context" param not working. The data is saved in the user meta
meta-box-order_{screen id}:https://imgur.elightup.com/A7bkxT9.png
Deleting this user meta from the database will make the context work again.
Please try that. It's the only reason I think affects the wrong location.
Anh Tran
KeymasterHi Dave,
Storing ID seems better in my opinion. You can get full file info later with small piece of code. Storing file path doesn't have any benefit since it's the raw path on the server, which is unusable.
Anh Tran
KeymasterProbably, you're on an old post or your meta box has already been saved. See this for more details:
Anh Tran
KeymasterI see. That's an opinion. Some people want to start over again to select different options for the new clone. And the existing values might take them a lot of time deleting unnecessary values, especially the group has cloneable sub-groups.
Each option will have pros and cons. It's a choice that we made from the beginning, and changing it won't be a reasonable solution for now.
Anh Tran
KeymasterHi Camilo,
Actually, you are setting the field in opposite. The correct pattern should be:
'value1' => 'Label 1', 'value2' => 'Label 2'(It's the
'value' => 'Label', not'key' => 'value').And the helper function returns the values, not labels.
You can get the labels, you can do this:
$field = rwmb_get_field_settings( 'field_id' ); $options = $field['options']; // Get all labels. $values = rwmb_meta( 'field_id' ); $labels = array_map( function( $value ) use ( $options ) { return $options[$value]; }, $values ); // Output labels. foreach ( $labels as $label ) { echo $label; }Anh Tran
KeymasterHi ComSi,
- Context: this is set at meta box's level. Did you set for meta box or for the field?
- Multi-select: the documentation means the value saved for those field types are always multiple (you save both parent and children). But the selection for each level is only one. It's how the tree works.
Anh Tran
KeymasterHi Dave,
All media fields store attachment IDs by default. If you want to store file URL (not path), then you can try
filefield withupload_dirsettings. See this for details:https://docs.metabox.io/fields/file/#upload-to-custom-folder
Anh Tran
KeymasterHi,
I think a way to get this done is add
disabledattribute to the select dropdown. You can do that with this code:add_action( 'init', function() { $mb = rwmb_get_registry( 'meta_box' )->get( 'posts_to_pages_relationships_to' ); $mb->meta_box['fields'][0]['attributes']['disabled'] = true; }, 99 );And maybe add some CSS to hide the "+ Add more" button and the delete clone button.
Anh Tran
KeymasterI got it.
There is a settings
clone_defaultfor each field if you want to clone default values. You can set the default value for the whole group (which is an array of default values for sub-fields). Then when cloning, these values will be selected automatically.For user-selected options, they will be cleared when cloning. It's the design at first, since it makes the new clone clean and easy to start entering new values.
Anh Tran
KeymasterHi Nuno,
You just need to define the field like this:
array( 'id' => 'field_id', 'name' => 'Gender', 'options' => array( 'm' => 'Man', 'w' => 'Woman', ), 'std' => 'm', ) -
AuthorPosts