Как настроить плагин WordPress (Мой кредит)

#php #wordpress #web #plugins #wordpress-plugin-creation

Вопрос:

Поэтому я пытался создать новый крючок MyCred, чтобы пользователь получал баллы за посещение веб-сайта только в том случае, если он посещает его по ссылкам с разных веб-сайтов. Это и есть код:

 <?php
if ( ! defined( 'myCRED_VERSION' ) ) exit;

/**
 * Hook for site visits
 * @since 1.5
 * @version 1.1
 */
// Register Hook
add_filter( 'mycred_setup_hooks', 'register_my_custom_hook' );
function register_my_custom_hook( $installed )
{
    $installed['complete_profile'] = array(
        'title'       => __( '%plural% for visits from specific sites', 'textdomain' ),
        'description' => __( 'This hook awards points for visits from specific sites.', 'textdomain' ),
        'callback'    => array( 'myCRED_Hook_Site_Visits_from_specific_site' )
    );
    return $installed;
}
add_action( 'mycred_load_hooks', 'mycred_load_site_visits_from_specific_site' );
function mycred_load_bp_site_visits_from_specific_site() {
if ( ! class_exists( 'myCRED_Hook_Site_Visits_from_specific_site' ) ) :
    class myCRED_Hook_Site_Visits_from_specific_site extends myCRED_Hook {

        /**
         * Construct
         */
        function __construct( $hook_prefs, $type = MYCRED_DEFAULT_TYPE_KEY ) {

            parent::__construct( array(
                'id'       => 'site_visit_from_specific_site',
                'defaults' => array(
                    'creds'   => 1,
                    'log'     => '%plural% for site visit from specific site'
                )
            ), $hook_prefs, $type );

        }

        /**
         * Run
         * @since 1.5
         * @version 1.0.2
         */
        public function run() {

            // Make sure user is logged in. Also to prevent unneccery db queries we
            // check to make sure the user does not have the cookie.
            if ( is_user_logged_in() amp;amp; ! isset( $_COOKIE['mycred_site_visit_from_specific_site'] ) )
                add_action( 'init', array( $this, 'site_visit_from_specific_site' ) );

        }
    }

        /**
         * Visit Hook
         * @since 1.5
         * @version 1.1.3
         */
        public function site_visit_from_specific_site() {

            if ( defined( 'DOING_AJAX' ) amp;amp; DOING_AJAX ) return;
            
            $referrer = $_SERVER['HTTP_REFERER'];
            $flag = stristr( $referrer,'http://chatshop.byethost16.com/b16_28398476/subdomain2.22web.org/');
            if(!$flag) return;

            // Current User ID
            $user_id = get_current_user_id();
            $now     = current_time( 'timestamp' );
            // Make sure user is not excluded
            if ( $this->core->exclude_user( $user_id ) ) return;

            // Store todays date as an integer
            $today = (int) apply_filters( 'mycred_site_visit_from_specific_site_id', date( 'Ymd', $now ) );
            $data = '';
            // Make sure this is unique
            if ( $this->core->has_entry( 'site_visit_from_specific_site', $today, $user_id, $data, $this->mycred_type ) ) return;
            // Execute
            $this->core->add_creds(
                'site_visit_from_specific_site',
                $user_id,
                $this->prefs['creds'],
                $this->prefs['log'],
                $today,
                $data,
                $this->mycred_type
            );

        }

        /**
         * Preference for Site Visit Hook
         * @since 1.5
         * @version 1.1
         */
        public function preferences() {

            $prefs = $this->prefs;

?>
<div class="hook-instance">
    <div class="row">
        <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12">
            <div class="form-group">
                <label for="<?php echo $this->field_id( 'creds' ); ?>"><?php echo $this->core->plural(); ?></label>
                <input type="text" name="<?php echo $this->field_name( 'creds' ); ?>" id="<?php echo $this->field_id( 'creds' ); ?>" value="<?php echo $this->core->number( $prefs['creds'] ); ?>" class="form-control" />
            </div>
        </div>
        <div class="col-lg-8 col-md-8 col-sm-12 col-xs-12">
            <div class="form-group">
                <label for="<?php echo $this->field_id( 'log' ); ?>"><?php _e( 'Log Template', 'mycred' ); ?></label>
                <input type="text" name="<?php echo $this->field_name( 'log' ); ?>" id="<?php echo $this->field_id( 'log' ); ?>" placeholder="<?php _e( 'required', 'mycred' ); ?>" value="<?php echo esc_attr( $prefs['log'] ); ?>" class="form-control" />
                <span class="description"><?php echo $this->available_template_tags( array( 'general' ) ); ?></span>
            </div>
        </div>
    </div>
</div>
<?php

        }

    }
endif;
 

Но я не могу заставить этот крючок работать , также он не отображается на странице крючков в административной области wordpress. Также, пожалуйста, сообщите, где файл php должен быть загружен в файловый менеджер cpanel, чтобы это работало.