Forum Replies Created

Viewing 3 replies - 16 through 18 (of 18 total)
  • Well, here is the quick way: go to your gig calendar’s template directory, which reside either in

    wp-content/plugins/gigs-calendar/templates/[chosen]/

    or if you customized it in

    wp-content/gigs-templates/[chosen]/

    and look for an file name rss.php. Open it and you will see

    <?php if ( $options['rss-link'] ) : ?>
    	<div class="gigs-rss"><a href="<?php echo $folder ?>rss.php"><?php _e('Subscribe to RSS calendar feed', $gcd); ?></a></div>
    <?php endif; ?>

    Replace <?php echo $folder ?>rss.php with your Feedburner RSS.

    A less trivial but cleaner solution (better browser support for the file downloaded) would be to add a LINK-tag to the header of the html output. This should be done anyways, no matter of the feed provider!

    Open

    wp-content/plugins/gigs-calendar/gigs-calendar.php/

    and at line 66 (somewhere around there, at least) you should be able to see

    function display_css() {
      $options = get_option('gigs-calendar');
      $folder = dtc_gigs::get_url() . 'templates/';
      if ( is_file(dirname(__FILE__) . '/templates/' . $options['template'] . '/style.css') ) {
      ?>
      <link type="text/css" rel="stylesheet" href="<?php echo $folder . $options['template']; ?>/style.css" />
      <?php
      } elseif ( is_file(ABSPATH . 'wp-content/gigs-templates/' . $options['template'] . '/style.css') ) {
      ?>
      <link type="text/css" rel="stylesheet" href="<?php echo get_bloginfo('wpurl') . '/wp-content/gigs-templates/' . $options['template']; ?>/style.css" />
      <?php
      } else {
      ?>
      <link type="text/css" rel="stylesheet" href="<?php echo $folder; ?>basic/style.css" />
      <?php
      }
    }

    Go to the end of that function right before the last } and insert the following code:

    // EDIT START:
    global $gcd;
    $feedburner_rss_url = "";
    $title = __('Upcoming Gigs feed', $gcd) . " | " . get_bloginfo('name');
    if (!empty($feedburner_rss_url)) {
      ?>
      <link rel="alternate" type="application/rdf+xml" title="<?php echo $title ?>" href="<?php echo $feedburner_rss_url?>" />
      <?php
    } elseif ( is_file(dirname(__FILE__) . '/templates/' . $options['template'] . '/style.css') ) {
      ?>
      <link rel="alternate" type="application/rdf+xml" title="<?php echo $title ?>" href="<?php echo $folder . $options['template']; ?>/rss.php" />
      <?php
    } elseif ( is_file(ABSPATH . 'wp-content/gigs-templates/' . $options['template'] . '/rss.php') ) {
      ?>
      <link rel="alternate" type="application/rdf+xml" title="<?php echo $title ?>" href="<?php echo get_bloginfo('wpurl') . '/wp-content/gigs-templates/' . $options['template']; ?>/rss.php" />
      <?php
    } else {
      ?>
      <link rel="alternate" type="application/rdf+xml" title="<?php echo $title ?>" href="<?php echo $folder; ?>basic/rss.php" />
      <?php
    }
    // EDIT END

    Now, if you do not touch the rss.php of your chosen template, the rss-feed of gigs calender will be linked in the header and the feed is delivered by the wp-server.

    If you edit the rss-file to have your feedburner-feed served and you inserted the code above, you must set the $feedburner_rss_url to the same URL that you entered in the rss.php!

    $feedburner_rss_url = “https://https://feeds2.feedburner.com/someentryhere&#8221;;

    Gigs Calendar does not register any shortcodes to WordPress. But in gigs-calender.php you can find the reason why your attempt still worked. Search for:

    if ( preg_match_all('~\[gig-cal ?(.*?)\]~', $out, $matches) ) {
      $matches[0] = array_unique($matches[0]);
      foreach ( $matches[0] as $key => $match ) {
        $args = array();
        parse_str(str_replace(' ', '&', $matches[1][$key]), $args);
        $args['upcoming'] = (strpos($matches[1][$key], 'archive') !== FALSE) ? false : true;
        $args['return'] = true;
        $out = str_replace($match, dtc_gigs::generateList($args), $out);
      }
    }

    This part matches everything like

    [gigs-calender (..)]

    so that you can even pass attributes to it.

    So, to answer your question:

    [gigs-calender archive]

    will make the gigs archive appear on any page you put it – same with posts, also.

    Other possible attributes are

    • limit=[int]
    • dateFormat=[short|long|archive]
    • caption=[string] (%20 will work to insert white-spaces)
    • template=[gigs-list(default)|next-widget|upcoming-widget(|custom_templates)]

    Maybe there is even more, but I haven’t checked on these.

    More examples:
    To list five upcoming gigs, simply type

    [gig-cal limit=5]

    To list archived gigs with upcoming-widget-template, simply type

    [gig-cal archive template=upcoming-widget]

    To list upcoming gigs with custom heading and longDate date format, simply type

    [gig-cal caption=My%20Custom%20Heading dateFormat=long]

Viewing 3 replies - 16 through 18 (of 18 total)