static function settings() {

    $team_settings = TeamSettings::sharedInstance();

    if(isset($_GET['delete-template'])) {
      $team_settings->deleteCustomTemplate($_GET['delete-template']);
    }

    if (isset($_POST['team_templates']['slug'])) {
      $team_settings->updateDefaultTeamTemplateSlug($_POST['team_templates']['slug']);
      $did_update_options = true;
    }

    if (isset($_POST['custom_team_templates'])) {
      $team_settings->updateCustomTeamTemplates($_POST['custom_team_templates']);
      $did_update_options = true;
    }

    if (isset($_POST['team_meta_fields_labels'])) {
      $team_settings->updateCustomTeamMetaFields($_POST['team_meta_fields_labels'], $_POST['team_meta_fields_types']);
      $did_update_options = true;
    }

    $current_template = $team_settings->getCurrentDefaultTeamTemplate();
    $custom_templates = $team_settings->getCustomTeamTemplates();

    require_once(plugin_dir_path(__FILE__) . '../views/admin_settings.php');
  }
Exemple #2
0
  public static function setupDefaults() {
    $team_settings = TeamSettings::sharedInstance();

    $current_template_slug = $team_settings->getCurrentDefaultTeamTemplate();
    if($current_template_slug == '' || $current_template_slug == NULL) {
      
      $team_settings->updateDefaultTeamTemplateSlug('list');

    } else if ($current_template_slug == 'custom' || get_option('our_team_html_template', '') != '') {

      $templates_array = array();
      $templates_array[] = array(
        'html' => get_option('our_team_html_template'),
        'css' => get_option('our_team_css_template')
      );
      $team_settings->updateCustomTeamTemplates($templates_array);
      $team_settings->updateDefaultTeamTemplateSlug('custom_1');

      delete_option('our_team_html_template');
      delete_option('our_team_css_template');
      
    }
  }
Exemple #3
0
    static function team_meta_box_output($post) {

        wp_nonce_field('team_meta_box_nonce_action', 'team_meta_box_nonce');

        $team_settings = TeamSettings::sharedInstance();
        ?>

        <style type="text/css">
            label.team-label {
                float: left;
                line-height: 27px;
                width: 130px;
            }
        </style>

        <?php foreach ($team_settings->getTeamDetailsFields() as $field): ?>
            <p>
                <label for="team[<?php echo $field['slug'] ?>]" class="team-label"><?php _e($field['name']); ?>:</label>
                <?php if ($field['type'] == 'text'): ?>
                    <input type="text" name="team_meta[<?php echo $field['slug'] ?>]" value="<?php echo get_post_meta($post->ID, $field['slug'], true); ?>" />
                <?php elseif ($field['type'] == 'textarea'): ?>
                    <textarea cols=40 rows=5 name="team_meta[<?php echo $field['slug'] ?>]"><?php echo get_post_meta($post->ID, $field['slug'], true); ?></textarea>
                <?php endif; ?>
            </p>
        <?php endforeach; ?>

        <?php
    }
Exemple #4
0
Description: Allows Wordpress to keep track of your team for your website. Good for churches, small companies, etc.
Version: 1.0.0
Author: anup @Illusive Design WP Team
Author URI: https://illusivedesign.ca
*/

global $wpdb;
$our_team_table = $wpdb->prefix . 'our_team';

define('OUR_TEAM_TABLE', $wpdb->prefix . 'our_team');
define('TEAM_TEMPLATES', $wpdb->prefix . 'our_team_templates');
define('STAFF_PHOTOS_DIRECTORY', WP_CONTENT_DIR . "/uploads/team-photos/");

require_once(dirname(__FILE__) . '/classes/team_settings.php');

TeamSettings::setupDefaults();

require_once(dirname(__FILE__) . '/classes/our_team.php');
require_once(dirname(__FILE__) . '/classes/our_team_shortcode.php');
require_once(dirname(__FILE__) . '/classes/our_team_admin.php');

OurTeam::register_post_types();
OurTeam::set_default_meta_fields_if_necessary();
OurTeamAdmin::register_admin_menu_items();
OurTeamShortcode::register_shortcode();

if (OurTeam::show_import_message()) {
	//OurTeamAdmin::register_import_old_team_message();
}

register_activation_hook( __FILE__, array('OurTeam', 'set_default_templates_if_necessary'));
<?php

  $team_settings = TeamSettings::sharedInstance();

?>

<style type="text/css">
  #team-categories-wrapper,
  #team-order-wrapper,
  #team-template-wrapper {
    margin: 20px 0px;
  }
</style>

<div id="team-categories-wrapper">
  <label for="team-category">Team Category</label>
  <select name="team-category">
    <option value=''>-- Select Category --</option>
    <?php foreach(get_terms('team_category') as $cat): ?>
      <option value="<?php echo $cat->term_id; ?>"><?php echo $cat->name; ?></option>
    <?php endforeach; ?>
  </select>
</div>

<div id="team-order-wrapper">
  <label for="team-order">Team Order</label>
  <select name="team-order">
    <option value=''>-- Use Default --</option>
    <option value="asc">Ascending</option>
    <option value="desc">Descending</option>
  </select>
  static function html_for_custom_template($template_slug, $wp_query) {
    $team_settings = TeamSettings::sharedInstance();

    $output = '';

    $template = $team_settings->getCustomTeamTemplateForSlug($template_slug);
    $template_html = stripslashes($template['html']);
  	$template_css = stripslashes($template['css']);

  	$output .= "<style type=\"text/css\">$template_css</style>";

    if(strpos($template_html, '[team_loop]')) {
      $before_loop_markup = substr($template_html, 0, strpos($template_html, "[team_loop]"));
      $after_loop_markup = substr($template_html, strpos($template_html, "[/team_loop]") + strlen("[/team_loop]"), strlen($template_html) - strpos($template_html, "[/team_loop]"));
      $loop_markup = str_replace("[team_loop]", "", substr($template_html, strpos($template_html, "[team_loop]"), strpos($template_html, "[/team_loop]") - strpos($template_html, "[team_loop]")));
      $output .= $before_loop_markup;
    } else {
      $loop_markup = $template_html;
    }

    while($wp_query->have_posts()) {
      $wp_query->the_post();

      $team_name = get_the_title();
      if (has_post_thumbnail()) {
        $attachment_array = wp_get_attachment_image_src(get_post_thumbnail_id());
        $photo_url = $attachment_array[0];
        $photo_tag = '<img src="' . $photo_url . '" />';
      } else {
        $photo_url = "";
        $photo_tag = "";
      }

      $team_email = get_post_meta(get_the_ID(), 'email', true);
      $team_email_link = $team_email != '' ? "<a href=\"mailto:$team_email\">Email $team_name</a>" : "";
      $team_phone_number = get_post_meta(get_the_ID(), 'phone_number', true);
      $team_bio = get_the_content();
      $team_website = get_post_meta(get_the_ID(), 'website', true);
      $team_website_link = $team_website != '' ? "<a href=\"$team_website\" target=\"_blank\">View website</a>" : "";

      $team_categories = wp_get_post_terms(get_the_ID(), 'team_category');
      if (count($team_categories) > 0) {
        $team_category = $team_categories[0]->name;
      } else {
        $team_category = "";
      }

      $accepted_single_tags = array("[name]", "[photo_url]", "[bio]", "[category]");
  		$replace_single_values = array($team_name, $photo_url, $team_bio, $team_category);

  		$accepted_formatted_tags = array("[name_header]", "[photo]", "[email_link]", "[bio_paragraph]", "[website_link]");
  		$replace_formatted_values = array("<h3>$team_name</h3>", $photo_tag, $team_email_link, "<p>$team_bio</p>", $team_website_link);

  		$current_team_markup = str_replace($accepted_single_tags, $replace_single_values, $loop_markup);
  		$current_team_markup = str_replace($accepted_formatted_tags, $replace_formatted_values, $current_team_markup);

      preg_match_all("/\[(.*?)\]/", $current_team_markup, $other_matches);
      $team_meta_fields = get_option('team_meta_fields');

      if($team_meta_fields != '' && count($other_matches[0]) > 0) {
        foreach($other_matches[0] as $match) {
          foreach($team_meta_fields as $field) {
            $meta_key = $field['slug'];
            $shortcode_without_brackets = substr($match, 1, strlen($match) - 2);
            if($meta_key == $shortcode_without_brackets) {
              $meta_value = get_post_meta(get_the_ID(), $meta_key, true);
              $current_team_markup = str_replace($match, $meta_value, $current_team_markup);
            }
          }
        }
      }

  		$output .= $current_team_markup;
    }

    if(isset($after_loop_markup)) {
      $output .= $after_loop_markup;
    }

    return $output;
  }