[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/ -> wp-links-opml.php (source)

   1  <?php
   2  /**
   3   * Outputs the OPML XML format for getting the links defined in the link
   4   * administration. This can be used to export links from one blog over to
   5   * another. Links aren't exported by the WordPress export, so this file handles
   6   * that.
   7   *
   8   * This file is not added by default to WordPress theme pages when outputting
   9   * feed links. It will have to be added manually for browsers and users to pick
  10   * up that this file exists.
  11   *
  12   * @package WordPress
  13   */
  14  
  15  require_once( dirname( __FILE__ ) . '/wp-load.php' );
  16  
  17  header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), true );
  18  $link_cat = '';
  19  if ( ! empty( $_GET['link_cat'] ) ) {
  20      $link_cat = $_GET['link_cat'];
  21      if ( ! in_array( $link_cat, array( 'all', '0' ) ) ) {
  22          $link_cat = absint( (string) urldecode( $link_cat ) );
  23      }
  24  }
  25  
  26  echo '<?xml version="1.0"?' . ">\n";
  27  ?>
  28  <opml version="1.0">
  29      <head>
  30          <title>
  31          <?php
  32              /* translators: 1: Site name */
  33              printf( __( 'Links for %s' ), esc_attr( get_bloginfo( 'name', 'display' ) ) );
  34          ?>
  35          </title>
  36          <dateCreated><?php echo gmdate( 'D, d M Y H:i:s' ); ?> GMT</dateCreated>
  37          <?php
  38          /**
  39           * Fires in the OPML header.
  40           *
  41           * @since 3.0.0
  42           */
  43          do_action( 'opml_head' );
  44          ?>
  45      </head>
  46      <body>
  47  <?php
  48  if ( empty( $link_cat ) ) {
  49      $cats = get_categories(
  50          array(
  51              'taxonomy'     => 'link_category',
  52              'hierarchical' => 0,
  53          )
  54      );
  55  } else {
  56      $cats = get_categories(
  57          array(
  58              'taxonomy'     => 'link_category',
  59              'hierarchical' => 0,
  60              'include'      => $link_cat,
  61          )
  62      );
  63  }
  64  
  65  foreach ( (array) $cats as $cat ) :
  66      /**
  67       * Filters the OPML outline link category name.
  68       *
  69       * @since 2.2.0
  70       *
  71       * @param string $catname The OPML outline category name.
  72       */
  73      $catname = apply_filters( 'link_category', $cat->name );
  74  
  75  ?>
  76  <outline type="category" title="<?php echo esc_attr( $catname ); ?>">
  77  <?php
  78      $bookmarks = get_bookmarks( array( 'category' => $cat->term_id ) );
  79  foreach ( (array) $bookmarks as $bookmark ) :
  80      /**
  81       * Filters the OPML outline link title text.
  82       *
  83       * @since 2.2.0
  84       *
  85       * @param string $title The OPML outline title text.
  86       */
  87      $title = apply_filters( 'link_title', $bookmark->link_name );
  88  ?>
  89  <outline text="<?php echo esc_attr( $title ); ?>" type="link" xmlUrl="<?php echo esc_attr( $bookmark->link_rss ); ?>" htmlUrl="<?php echo esc_attr( $bookmark->link_url ); ?>" updated="
  90                              <?php
  91                              if ( '0000-00-00 00:00:00' != $bookmark->link_updated ) {
  92                                  echo $bookmark->link_updated;}
  93  ?>
  94  " />
  95  <?php
  96      endforeach; // $bookmarks
  97  ?>
  98  </outline>
  99  <?php
 100  endforeach; // $cats
 101  ?>
 102  </body>
 103  </opml>


Generated: Sat Dec 16 01:00:03 2017 Cross-referenced by PHPXref 0.7.1