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/delta/wp-content/plugins/delta-site-plugin/index.php
<?php

/*
Plugin Name: Delta Site Plugin
Description: Site plugin for Delta Reality website containing custom post types, custom fields and specific features
Version: 1.0
Author: Borealis
Text Domain: delta
*/

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

if(file_exists(__DIR__ . '/acf-block-creation/index.php')){
    require_once __DIR__ . '/acf-block-creation/index.php';
}

// Register new post types and taxonomies
add_action( 'init', function(){

    register_post_type('delta_project', array(
        'labels' => array(
            'name' => __('Projects', 'delta'),
            'singular_name' => __('Project', 'delta'),
        ),
        'public' => true,
        'show_in_menu' => true,
        'show_in_rest' => true,
        'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields', ),
        'has_archive' => true,
        "map_meta_cap" => true,
        "rewrite" => array("slug" => "project")
    ));

    register_taxonomy( 'delta_project_category', 'delta_project', array(
        'labels' => array(
            'name'          => __('Categories', 'delta'),
            'singular_name' => __('Category', 'delta'),
            'add_new_item'  => __('Add New Category', 'delta'),
            'edit_item'     => __('Edit Category', 'delta'),
            'new_item'      => __('New Category', 'delta'),
            'view_item'     => __('View Category', 'delta'),
            'view_items'    => __('View Categories', 'delta'),
            'search_items'  => __('Search Categories', 'delta'),
            'not_found'     => __('No Categories found', 'delta'),
            'all_items'     => __('All Categories', 'delta')
        ),
        'hierarchical' => true,
        'show_in_rest' => true
    ));

    register_taxonomy( 'delta_project_type', 'delta_project', array(
        'labels' => array(
            'name'          => __('Types', 'delta'),
            'singular_name' => __('Type', 'delta'),
            'add_new_item'  => __('Add New Type', 'delta'),
            'edit_item'     => __('Edit Type', 'delta'),
            'new_item'      => __('New Type', 'delta'),
            'view_item'     => __('View Type', 'delta'),
            'view_items'    => __('View Types', 'delta'),
            'search_items'  => __('Search Types', 'delta'),
            'not_found'     => __('No Types found', 'delta'),
            'all_items'     => __('All Types', 'delta')
        ),
        'hierarchical' => true,
        'show_in_rest' => true
    ));

    register_taxonomy( 'delta_project_branch', 'delta_project', array(
        'labels' => array(
            'name'          => __('Branches', 'delta'),
            'singular_name' => __('Branch', 'delta'),
            'add_new_item'  => __('Add New Branch', 'delta'),
            'edit_item'     => __('Edit Branch', 'delta'),
            'new_item'      => __('New Branch', 'delta'),
            'view_item'     => __('View Branch', 'delta'),
            'view_items'    => __('View Branches', 'delta'),
            'search_items'  => __('Search Branches', 'delta'),
            'not_found'     => __('No Branches found', 'delta'),
            'all_items'     => __('All Branches', 'delta')
        ),
        'hierarchical' => true,
        'show_in_rest' => true
    ));

});

// Add site settings to admin menu
add_action( 'acf/init', function(){
    if( function_exists('acf_add_options_page') ) {

         acf_add_options_page(array(
            'page_title' => __( 'Site settings', 'delta' ),
            'menu_title' => __( 'Site settings', 'delta' ),
            'menu_slug'  => 'site-settings',
            'capability' => 'manage_options'
        ));
    }
});

// Save ACF fields in JSON
add_filter('acf/settings/save_json', 'delta_acf_json_save_point');
function delta_acf_json_save_point( $path ) {

    // update path
    $path = plugin_dir_path(__FILE__) . 'acf-json';

    return $path;
}

// Load ACF fields from JSON
add_filter('acf/settings/load_json', 'delta_acf_json_load_point');
function delta_acf_json_load_point( $paths ) {

    // remove original path (optional)
    unset($paths[0]);

    // append path
    $paths[] = plugin_dir_path(__FILE__) . 'acf-json';

    return $paths;
}

// Register ACF Blocks
add_action( 'init', 'register_my_acf_blocks' );
function register_my_acf_blocks(){

    if ( ! function_exists( 'register_block_type' ) ) {
        return;
    }

    $directories = glob(get_template_directory() . '/templates/acf-blocks/*' , GLOB_ONLYDIR);

    foreach($directories as $dir){
        register_block_type($dir);
    }
}

// Register new category for our elements only
add_filter( 'block_categories_all' , function( $categories ) {

    // Adding a new category.
	$categories[] = array(
		'slug'  => 'delta-elements',
		'title' => 'Delta'
	);

	return $categories;
} );

add_filter( 'wpseo_meta_author', '__return_false' );

// Remove annoying 301 Redirects pointer in wp-admin
add_action('admin_enqueue_scripts', function() {
  wp_add_inline_script('jquery', "
    jQuery(function($) {
      const observer = new MutationObserver(() => {
        const pointer = $('#wp-pointer-0:contains(\"301 Redirects\")');
        if (pointer.length) {
          pointer.remove();
          observer.disconnect();
        }
      });

      observer.observe(document.body, { childList: true, subtree: true });
    });
  ");
});