Forum Replies Created
-
AuthorPosts
-
Anh Tran
KeymasterHi Dave, sorry for the delay. I couldn't find anything wrong with the code. Can you send me a temporary admin account to take a look into that closer?
Anh Tran
KeymasterPrefix is just an option and sometimes, it confuses people. So in the MB Builder, we don't include it. You can add the prefix manually in the ID fields if you want.
Anh Tran
KeymasterSorry for the delay, here you are.
Anh Tran
KeymasterHmm, looks like the disabled elements won't be submitted when submitting the form.
I think both issues (disable selection and limit the query) can be done like this:
- Make an extra query to get the current selected options (do it by making a SQL query directly to the database). With this, you get the IDs of the connected posts.
- Set the
post__inforquery_argsin the relationship meta box. So the query only get the selected items.
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; } -
AuthorPosts