Skip to content
Snippets Groups Projects
eth-escape-headspace.php 2.17 KiB
Newer Older
<?php
/*
Plugin Name: ETH Escape HeadSpace2
Plugin URI: https://ethitter.com/plugins/
Description: Output existing HeadSpace2 data without the original plugin. Allows HeadSpace2 (no longer maintained) to be deactivated without impactacting legacy content.
Author: Erick Hitter
Version: 0.1
Author URI: https://ethitter.com/

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

class ETH_Escape_HeadSpace2 {
	/**
	 * Singleton
	 */
	private static $instance = null;

	/**
	 * Instantiate singleton
	 */
	public static function get_instance() {
		if ( ! is_a( self::$instance, __CLASS__ ) ) {
			self::$instance = new self;
		}

		return self::$instance;
	}

	/**
	 * Class properties
	 */
	private $hs_keys = array(
		'_headspace_description',
		'_headspace_metakey',
		'_headspace_noindex',
	);

	/**
	 * Register plugin's hooks
	 *
	 * @return null
	 */
	private function __construct() {
		add_action( 'wp_head', array( $this, 'action_wp_head' ) );
	}

	/**
	 *
	 */
	public function action_wp_head() {
		// Applies only to individual post objects
		if ( ! is_singular() ) {
			return;
		}

		// Check for HS data
		$hs_data = array();

		foreach ( $this->hs_keys as $hs_key ) {
			$value = get_post_meta( get_the_ID(), $hs_key, true );

			if ( ! empty( $value ) ) {
				$hs_data[ $hs_key ] = $value;
			}
		}

		// Bail if no HS data exists for this post
		if ( empty( $hs_data ) ) {
			return;
		}

		// Build output
		foreach ( $hs_data as $hs_key => $hs_value ) {
			switch( $hs_key ) {
				default :
					continue;
					break;
			}
		}
	}
}

ETH_Escape_HeadSpace2::get_instance();