<?php $fields = json_decode(json_encode(get_fields($module->ID))); if (isset($fields->contacts) && count($fields->contacts) > 0) { $displayMode = 'cards'; if (isset($fields->display_mode) && !empty($fields->display_mode)) { $displayMode = $fields->display_mode; } switch ($displayMode) { case 'list': include \Modularity\Helper\Wp::getTemplate($module->post_type . '-list', 'module/modularity-mod-contact', false); break; default: include \Modularity\Helper\Wp::getTemplate($module->post_type . '-cards', 'module/modularity-mod-contact', false); break; } } else { ?> <div class="<?php echo implode(' ', apply_filters('Modularity/Module/Classes', array('box', 'box-card'), $module->post_type, $args)); ?> " itemscope="person" itemtype="http://schema.org/Organization"> <?php if (isset($fields->picture) && !empty($fields->picture)) { $image = wp_get_attachment_image_src($fields->picture->id, apply_filters('modularity/image/contact', municipio_to_aspect_ratio('16:9', array(400, 400)), $args)); } else { $image = false; } ?>
} $order = $fields->posts_sort_order; $filters = array('orderby' => sanitize_text_field($sortBy), 'order' => sanitize_text_field($order)); if ($sortBy == 'meta_key') { $filters['meta_key'] = $orderby; } if (isset($fields->posts_taxonomy_type) && $fields->posts_taxonomy_type) { $taxType = $fields->posts_taxonomy_type; $taxValues = (array) $fields->posts_taxonomy_value; $taxValues = implode('|', $taxValues); $filters['term[]'] = $taxType . '|' . $taxValues; } switch ($fields->posts_display_as) { case 'list': $template = \Modularity\Helper\Wp::getTemplate($module->post_type . '-list', 'module/modularity-mod-posts', false); break; case 'news': $template = \Modularity\Helper\Wp::getTemplate($module->post_type . '-news', 'module/modularity-mod-posts', false); break; case 'items': $template = \Modularity\Helper\Wp::getTemplate($module->post_type . '-items', 'module/modularity-mod-posts', false); break; case 'index': $template = \Modularity\Helper\Wp::getTemplate($module->post_type . '-index', 'module/modularity-mod-posts', false); break; case 'expandable-list': $template = \Modularity\Helper\Wp::getTemplate($module->post_type . '-expandable-list', 'module/modularity-mod-posts', false); break; } $template = apply_filters('Modularity/Module/Posts/template', $template, $module, $fields); include $template;
/** * Display module with shortcode * @param array $args Args * @return string Html markup */ public function shortcodeDisplay($args) { $args = shortcode_atts(array('id' => false, 'inline' => true), $args); if (!is_numeric($args['id'])) { return; } $module = \Modularity\Editor::getModule($args['id']); if (substr($module->post_type, 0, 4) != 'mod-' || $module->post_status == 'private' && !is_user_logged_in()) { return; } $templatePath = \Modularity\Helper\Wp::getTemplate($module->post_type, 'module-inline', false); if (!$templatePath || $args['inline'] !== true) { $templatePath = \Modularity\Helper\Wp::getTemplate($module->post_type, 'module', false); } if (!$templatePath) { return false; } ob_start(); include $templatePath; $moduleMarkup = ob_get_clean(); $moduleMarkup = apply_filters('Modularity/Display/Markup', $moduleMarkup, $module); $moduleMarkup = apply_filters('Modularity/Display/' . $module->post_type . '/Markup', $moduleMarkup, $module); return '<div class="' . $module->post_type . '">' . $moduleMarkup . '</div>'; }
/** * Metabox content: Modules * @return void */ public function metaBoxModules() { $available = \Modularity\Module::$available; uasort($available, function ($a, $b) { return strcmp($a['labels']['name'], $b['labels']['name']); }); global $modularityOptions; $enabled = isset($modularityOptions['enabled-modules']) && is_array($modularityOptions['enabled-modules']) ? $modularityOptions['enabled-modules'] : array(); $templatePath = \Modularity\Helper\Wp::getTemplate('modules', 'options/partials'); include $templatePath; }