コード例 #1
0
 /**
  * Outputs the widget content
  * @param  array $args     Widget arguments
  * @param  array $instance Widget instance
  * @return void
  */
 public function widget($args, $instance)
 {
     if (!isset($instance['module_id']) || !is_numeric($instance['module_id'])) {
         return false;
     }
     $display = \Modularity\App::$display;
     $module = \Modularity\Editor::getModule($instance['module_id'], array('hidden' => false, 'columnWidth' => isset($instance['module_size']) ? $instance['module_size'] : 'grid-md-4'));
     $display->outputModule($module, $args);
 }
コード例 #2
0
 /**
  * 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>';
 }