Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Automator_Functions::load_extra_options( $recipe )
load_extra_options
Contents
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Warning: foreach() argument must be of type array|object, string given in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 830
Warning: Array to string conversion in /home/customer/www/docs.automatorplugin.com/public_html/wp-content/themes/wporg-developer/inc/template-tags.php on line 825
Parameters Parameters
- $type
(Required)
- $item_code
(Required)
Return Return
(void)
Source Source
File: src/core/lib/class-automator-functions.php
public function load_extra_options( $recipe ) { // Get the extra options meta. This one should only exists during REST calls. In all other cases, this meta should nor exist $extra_options_meta = get_post_meta( $recipe['ID'], 'extra_options', true ); // If the meta doesn't exist (initial recipe page load), replace it with an empty array $extra_options = empty( $extra_options_meta ) ? array() : $extra_options_meta; // We will loop through triggers and actions to see if any of them have extra optiosn to load $types_to_process = array( 'actions', 'triggers' ); foreach ( $types_to_process as $type ) { foreach ( $recipe[ $type ] as $item ) { $item_code = $item['meta']['code']; $integration = $item['meta']['integration']; // If extra options were already loaded for this item, bail if ( isset( $extra_options[ $integration ][ $item_code ] ) ) { continue; } // Otherwise, get the options callback from the integration definition if ( 'actions' === $type ) { $callback = Automator()->get->value_from_action_meta( $item_code, 'options_callback' ); } elseif ( 'triggers' === $type ) { $callback = Automator()->get->value_from_trigger_meta( $item_code, 'options_callback' ); } // If there is no callback found, bail if ( ! $callback ) { continue; } // If the callback is found, execute it $extra_options[ $integration ][ $item_code ] = call_user_func( $callback ); } } // Store all the extra options in the post meta so that subsequent REST API calls won't need to load the options again update_post_meta( $recipe['ID'], 'extra_options', $extra_options ); return $extra_options; }
Expand full source code Collapse full source code View on Github