HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/hcv/wp-content/plugins/hockeycoach-site-plugin/cpt.php
<?php

if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}


add_action( 'init', function() {
    register_taxonomy( 'free_drill_categories', 'free_drill', array(
        'labels' => array(
            'name'          => __('Categories', 'tokic_theme'),
            'singular_name' => __('Category', 'tokic_theme'),
            'add_new_item'  => __('Add New Category', 'tokic_theme'),
            'edit_item'     => __('Edit Category', 'tokic_theme'),
            'new_item'      => __('New Category', 'tokic_theme'),
            'view_item'     => __('View Category', 'tokic_theme'),
            'view_items'    => __('View Categories', 'tokic_theme'),
            'search_items'  => __('Search Category', 'tokic_theme'),
            'not_found'     => __('No Categories found', 'tokic_theme'),
            'all_items'     => __('All Categories', 'tokic_theme')
        ),
        'rewrite' => array('slug' => 'category'),
        'hierarchical' => false,
    ));

    
    register_taxonomy( 'free_drill_age', 'free_drill', array(
        'labels' => array(
            'name'          => __('Ages', 'tokic_theme'),
            'singular_name' => __('Age', 'tokic_theme'),
            'add_new_item'  => __('Add New Age', 'tokic_theme'),
            'edit_item'     => __('Edit Age', 'tokic_theme'),
            'new_item'      => __('New Age', 'tokic_theme'),
            'view_item'     => __('View Age', 'tokic_theme'),
            'view_items'    => __('View Ages', 'tokic_theme'),
            'search_items'  => __('Search Age', 'tokic_theme'),
            'not_found'     => __('No Ages found', 'tokic_theme'),
            'all_items'     => __('All Ages', 'tokic_theme')
        ),
        'rewrite' => array('slug' => 'age'),
        'hierarchical' => false,
    ));



    register_post_type('free_drill',

        array(
            'labels' => array(
                'name' => __('Free drills', 'free_drill'),
                'singular_name' => __('Free drill', 'free_drill'),
            ),
            'public' => true,
            'show_in_menu' => true,
            'supports' => array( 'title'  ),
            'has_archive' => true,
            'rewrite' => array('slug' =>  'drills'),
        ));

    register_post_type('testimonial',

        array(
            'labels' => array(
                'name' => __('Testimonials', 'testimonials'),
                'singular_name' => __('Testimonial', 'testimonial'),
            ),
            'public' => true,
            'show_in_menu' => true,
            'supports' => array('title', 'editor'),
            'has_archive' => true,
            'rewrite' => array('slug' =>  'testimonials'),
            'menu_icon' => 'dashicons-editor-quote',
        ));

        

    register_post_type('tutorial',

    array(
        'labels' => array(
            'name' => __('Tutorials', 'tutorial'),
            'singular_name' => __('Tutorial', 'tutorial'),
        ),
        'public' => true,
        'show_in_menu' => true,
        'supports' => array( 'title', 'editor' ),
        'has_archive' => true,
        'rewrite' => array('slug' =>  'tutorials'),
        'menu_icon' => 'dashicons-welcome-learn-more',
    ));

});

add_filter( 'manage_free_drill_posts_columns', 'set_custom_edit_free_drills_columns');
function set_custom_edit_free_drills_columns($columns) {
	$temp = $columns['date'];
    unset( $columns['date'] );
    $columns['category'] = 'Category';
    $columns['age'] = 'Age';
    $columns['date'] = $temp;

    return $columns;
}

add_action( 'manage_free_drill_posts_custom_column' , 'custom_free_drills_column', 10, 2 );
function custom_free_drills_column(  $column, $post_id ) {
    if ( $column == 'category' ) {
        $terms = get_the_terms( $post_id, 'free_drill_categories' );
        if ($terms) {
            $term = array_pop($terms);
            echo $term->name;
        } else {
            echo 'no-category';
        }
    } else if ( $column == 'age' ) {
        $terms = get_the_terms( $post_id, 'free_drill_age' );
        if ($terms) {
            $term = array_pop($terms);
            echo $term->name;} else {
            echo 'no-age';
        }
    } 
}

function add_single_query_arg($key,  $list_of_args, $arg): string
{
    if($list_of_args){
        $args_array = explode(',', $list_of_args);
    }else{
        $args_array = [];
    }
    if (!in_array($arg, $args_array)) {
        array_push($args_array, $arg);
    }
    return add_query_arg($key, implode(',', $args_array), get_pagenum_link(false, false));
}

function remove_single_query_arg($key,  $list_of_args, $arg): string
{
    if($list_of_args){
        $args_array = explode(',', $list_of_args);
        if (($name = array_search($arg, $args_array)) !== false) {
            unset($args_array[$name]);
        }
    }else{
        $args_array = [];
    }

    if(count($args_array) == 0){
        return remove_query_arg($key);
    }
    return add_query_arg($key, implode(',', $args_array), get_pagenum_link(false, false));
}



?>