HEX
Server: Apache
System: Linux digivps 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC 2025 x86_64
User: www (1000)
PHP: 8.3.15
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/healthyton.com/wp-content/plugins/wp-subtitle/plugin/plugin.php
<?php

/**
 * @package     WP Subtitle
 * @subpackage  Plugin
 */

// Plugin directory and url paths.
define( 'WPSUBTITLE_BASENAME', plugin_basename( __FILE__ ) );
define( 'WPSUBTITLE_SUBDIR', '/' . str_replace( basename( __FILE__ ), '', WPSUBTITLE_BASENAME ) );
define( 'WPSUBTITLE_URL', plugins_url( WPSUBTITLE_SUBDIR ) );
define( 'WPSUBTITLE_DIR', plugin_dir_path( __FILE__ ) );

// Includes
require_once WPSUBTITLE_DIR . 'includes/class-api.php';
require_once WPSUBTITLE_DIR . 'includes/subtitle.php';
require_once WPSUBTITLE_DIR . 'includes/deprecated.php';
require_once WPSUBTITLE_DIR . 'includes/shortcode.php';
require_once WPSUBTITLE_DIR . 'includes/rest.php';
require_once WPSUBTITLE_DIR . 'includes/compat/wordpress-seo.php';
require_once WPSUBTITLE_DIR . 'includes/compat/seopress.php';
require_once WPSUBTITLE_DIR . 'includes/compat/woocommerce.php';

// Include admin-only functionality
if ( is_admin() ) {
	require_once WPSUBTITLE_DIR . 'admin/admin.php';
	if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
		// Load AJAX functions here if required...
	} else {
		require_once WPSUBTITLE_DIR . 'admin/pointers.php';
	}
}

add_action( 'plugins_loaded', array( 'WPSubtitle', 'load' ) );
add_action( 'init', array( 'WPSubtitle', '_add_default_post_type_support' ), 5 );

// Default subtitle filters
add_filter( 'wps_subtitle', 'wptexturize' );
add_filter( 'wps_subtitle', 'trim' );

class WPSubtitle {

	/**
	 * API
	 *
	 * @var  WP_Subtitle_API|null
	 */
	private static $api = null;

	/**
	 * REST API
	 *
	 * @since  3.1
	 *
	 * @var  WPSubtitle_REST|null
	 */
	private static $rest = null;

	/**
	 * WP SEO (plugin compatibility)
	 *
	 * @since  3.1
	 *
	 * @var  WPSubtitle_WPSEO|null
	 */
	private static $wpseo = null;

	/**
	 * SEOPress (plugin compatibility)
	 *
	 * @since  3.4
	 *
	 * @var  WPSubtitle_SEOPress|null
	 */
	private static $seopress = null;

	/**
	 * WooCommerce
	 *
	 * @since  3.1
	 *
	 * @var  WPSubtitle_WooCommerce|null
	 */
	private static $woocommerce = null;

	/**
	 * Load
	 *
	 * @since  3.1
	 */
	public static function load() {

		self::$api         = new WP_Subtitle_API();
		self::$rest        = new WPSubtitle_REST();
		self::$wpseo       = new WPSubtitle_WPSEO();
		self::$seopress    = new WPSubtitle_SEOPress();
		self::$woocommerce = new WPSubtitle_WooCommerce();

		self::$api->setup_hooks();

	}

	/**
	 * Add Default Post Type Support
	 *
	 * @since  2.0
	 * @internal
	 */
	public static function _add_default_post_type_support() {

		add_post_type_support( 'page', 'wps_subtitle' );
		add_post_type_support( 'post', 'wps_subtitle' );
		add_post_type_support( 'revision', 'wps_subtitle' );

	}

	/**
	 * Get Supported Post Types
	 *
	 * @since  2.0
	 *
	 * @return  array  Array of supported post types.
	 */
	public static function get_supported_post_types() {
		$post_types = (array) get_post_types(
			array(
				'_builtin' => false,
			)
		);
		$post_types = array_merge( $post_types, array( 'post', 'page', 'revision' ) );
		$supported  = array();
		foreach ( $post_types as $post_type ) {
			if ( post_type_supports( $post_type, 'wps_subtitle' ) ) {
				$supported[] = $post_type;
			}
		}
		return $supported;
	}

	/**
	 * Is Supported Post Type
	 *
	 * @since  2.3
	 *
	 * @param   string $post_type  Post Type.
	 * @return  boolean
	 */
	public static function is_supported_post_type( $post_type ) {
		$post_types = self::get_supported_post_types();
		if ( in_array( $post_type, $post_types, true ) ) {
			return true;
		}
		return false;
	}

	/**
	 * Get the Subtitle
	 *
	 * @since  2.0
	 *
	 * @uses  WP_Subtitle::get_subtitle()
	 *
	 * @param   int|object $post  Post ID or object.
	 * @return  string             The filtered subtitle meta value.
	 */
	public static function get_the_subtitle( $post = 0 ) {

		$subtitle = new WP_Subtitle( $post );

		return $subtitle->get_subtitle();

	}

	/**
	 * Get Post Meta
	 *
	 * @since  2.0
	 * @internal
	 *
	 * @uses  WP_Subtitle::get_raw_subtitle()
	 *
	 * @param   int|object $post  Post ID or object.
	 * @return  string             The subtitle meta value.
	 */
	public static function _get_post_meta( $post = 0 ) {

		$subtitle = new WP_Subtitle( $post );

		return $subtitle->get_raw_subtitle();

	}

	/**
	 * Get Post Meta Key
	 *
	 * @since  2.5.x
	 * @internal
	 *
	 * @param   int $post_id  Post ID.
	 * @return  string         The subtitle meta key.
	 */
	public static function _get_post_meta_key( $post_id = 0 ) {

		return apply_filters( 'wps_subtitle_key', 'wps_subtitle', $post_id );

	}

}