Forum Replies Created
-
AuthorPosts
-
Anh Tran
KeymasterPlease use this function:
$meta_box = rwmb_get_registry( 'meta_box' )->get( 'YOUR_META_BOX_ID' ); $fields = $meta_box->fields;Anh Tran
KeymasterHi @swartjie, I tried to replied your contact message, but your email was incorrect. I wanted to send you the updated version for testing before updating AIO. I've just sent via FB Messenger, can you please check?
@Clayton: Let me check that. Thanks for letting me know.
Anh Tran
KeymasterHi, thanks a lot for your feedback and debug. I'll check the bundled version in AIO and fix it asap.
Anh Tran
KeymasterCan you take some screenshots and/or videos? I have no clue why it shows the message :(. Here is the guide to take screenshots and videos.
Anh Tran
KeymasterHmm, couldn't find anywhere the JSON value is stored.
However, I found something confusing in your code:
This part:
if( is_string($field['value']) && is_array(json_decode($field['value'], true)) ) { $array = json_decode( $field['value'] ); $i = 0; foreach( $array as $value) { update_post_meta($post_id, '_property_' . $new_level . '_' . $field['key'], $value[$i]); $i++; } } else {...}Here you check if
$field['value']is a json-string. But when you decode it with$array = json_decode( $field['value'] );, then$arraywill be an object! Not sure why the nextforeachloop work.Anh Tran
KeymasterHi Kevin,
I've just checked and don't see the message. Have you updated to the latest version?
Also can you check if your meta box contains any field with ID
email? This field coincide with WP user field and might trigger the create user action (it doesn't trigger in my test, but maybe in yours).Anh Tran
KeymasterHi Arif,
This is more related to sorting values in PHP rather than with Meta Box. I'll try to give you the concept of doing that, please follow it. Your logic is complicated and I couldn't provide full code for you.
As I see you store all teams and their info in a group field
goalkick_league_point_table_option, right? And for each team, you record the number of matches that the team won or lost, right? (I assume that, cause I don't know if that's the number of matches or number of scores for matches).To sort teams, we will need to use usort() function.
Here is my first idea for sorting by scores:
function get_score( $team_details ) { $win = isset( $team_details['goalkick_league_standing_match_win_manual'] ) ? $team_details['goalkick_league_standing_match_win_manual'] : 0; $lost = isset( $team_details['goalkick_league_standing_match_win_manual'] ) ? $team_details['goalkick_league_standing_match_loss_manual'] : 0; return $win * 3; } $teams = rwmb_meta( 'goalkick_league_point_table_option' ); usort( $teams, function( $a, $b ) { $a_score = get_score( $a ); $b_score = get_score( $b ); if ( $a_score == $b_score ) { return 0; } return $a_score > $b_score ? -1 : 1; } );If you want to check by other conditions (2 and 3), then in the callback function of
usort, add more conditions, like this:usort( $teams, function( $a, $b ) { $a_score = get_score( $a ); $b_score = get_score( $b ); // Scores equal, sort by matches played. if ( $a_score == $b_score ) { $a_matches = get_matches( $a ); $b_matches = get_matches( $b ); // If matches equal, sort by something else. if ( $a_matches == $b_matches ) { } return $a_matches > $b_matches ? -1 : 1; } return $a_score > $b_score ? -1 : 1; } );Anh Tran
KeymasterHi Jay,
In a recent update, the default fields (username and password) was removed from the profile field. It's requested by some users. To re-add them, please add
id="rwmb-user-info"to the shortcode. For details, please see the docs.Anh Tran
KeymasterIt's fixed. Thanks for your feedback!
Anh Tran
KeymasterYou're data is a plain array encoded in JSON, so
$value[$i]is correct to iterate each of the value stored.I'm not sure how it's saved in the DB, though. But at least it works for now. Please post the code for the meta box/field here for me to see why it saves as json-array.
Anh Tran
KeymasterI got it. Let's try to fix the issue with the BB first.
Please deactivate everything related to Pods, since we don't need it anymore.
On the front end, if you keep your old modules / shortcodes, then the custom fields with Pods might be still outputted correctly. It's not a bug, it's just BB can still retrieve data from custom fields even when the plugin is deactivated. (Of course, the data is still in the database, so BB is able to retrieve it).
Regarding fields that you created with Meta Box, can you check if you installed and activated the MB Beaver Builder Integration extension? This extension helps you to output the custom field easier. See the screenshot on the plugin page and let me know if there's anything unclear.
Anh Tran
KeymasterHi Sam,
If you already activate MB Relationships network-wide, then please do not install or activate the plugin via Meta Box AIO. The AIO plugin is a wrapper of other extensions. When you install a plugin via AIO, it will install that plugin as an individual plugin, which can cause some issues.
January 20, 2019 at 10:29 AM in reply to: ✅Set default value to field if this value still not exist #13076Anh Tran
KeymasterHi Jefferson,
Yes, it works only for new posts, since
stdis used when the meta box has not been saved before. For old posts, obviously meta box is already saved. So you need to do some migration. Perhaps you should share with us here ;). I think many users like that.I'll fix the issue with My topics link now.
Anh Tran
KeymasterHi Max,
Does it work with new posts?
The mechanism of
stdin Meta Box works only if the meta box has not been saved before. Here 'meta box' means all fields. So if there's any field that already has value, thenstdwon't work for other fields, even new fields you've just added.Anh Tran
KeymasterHi Sam,
From the error, I think the MB Relationship is already activated on a sub-site before. Can you check that and make sure no sub-site activate the plugin before you activate it in the network?
-
AuthorPosts