mondula / ticket-hub

1 stars 0 forks source link

WP_Feedback_Generic function/class/define/namespace/option names #17

Closed JonathanPultz closed 1 week ago

JonathanPultz commented 3 weeks ago

All plugins must have unique function names, namespaces, defines, class and option names. This prevents your plugin from conflicting with other plugins or themes. We need you to update your plugin to use more unique and distinct names.

A good way to do this is with a prefix. For example, if your plugin is called "Easy Custom Post Types" then you could use names like these:

Don't try to use two (2) or three (3) letter prefixes anymore. We host nearly 100-thousand plugins on WordPress.org alone. There are tens of thousands more outside our servers. Believe us, you’re going to run into conflicts.

You also need to avoid the use of _ (double underscores), wp , or _ (single underscore) as a prefix. Those are reserved for WordPress itself. You can use them inside your classes, but not as stand-alone function.

Please remember, if you're using _n() or __() for translation, that's fine. We're only talking about functions you've created for your plugin, not the core functions from WordPress. In fact, those core features are why you need to not use those prefixes in your own plugin! You don't want to break WordPress for your users.

Related to this, using if (!function_exists('NAME')) { around all your functions and classes sounds like a great idea until you realize the fatal flaw. If something else has a function with the same name and their code loads first, your plugin will break. Using if-exists should be reserved for shared libraries only.

Remember: Good prefix names are unique and distinct to your plugin. This will help you and the next person in debugging, as well as prevent conflicts.

Analysis result:

This plugin is using the prefix "th" for 30 element(s).

Cannot use "get" as a prefix.

ticket-hub/includes/th-ticket-creators-tab.php:3 function get_th_ticket_creators

Cannot use "is" as a prefix.

ticket-hub/includes/th-page-settings.php:127 function is_tickethub_plus_active

Cannot use "register" as a prefix.

ticket-hub/includes/th-ticket-tag-subpage.php:5 function register_my_custom_menu_page ticket-hub/post-types/th-ticket-pt.php:8 function register_th_ticket_post_type ticket-hub/post-types/th-ticket-pt.php:80 function register_th_ticket_tag_taxonomy

Cannot use "fetch" as a prefix.

ticket-hub/shortcodes/th-tickets-sc.php:76 function fetch_tickets_ajax

Cannot use "display" as a prefix.

ticket-hub/shortcodes/th-ticket-sc.php:217 function display_comment_with_replies

The prefix "th" is too short, we require prefixes at least over 4 characters.

ticket-hub/includes/th-ticket-creators-tab.php:14 function th_ticket_creator_form_page ticket-hub/includes/th-page-settings.php:5 add_option('th_options', array()); ticket-hub/includes/th-page-settings.php:3 function th_register_page_settings ticket-hub/includes/th-page-settings.php:10 function th_add_admin_menu ticket-hub/includes/th-page-settings.php:34 function th_settings_init ticket-hub/includes/th-page-settings.php:65 function th_archive_settings_section_callback ticket-hub/includes/th-page-settings.php:70 function th_number_field_callback ticket-hub/includes/th-page-settings.php:77 function th_ticket_id_section_callback ticket-hub/includes/th-page-settings.php:82 function th_text_field_callback ticket-hub/includes/th-page-settings.php:89 function th_settings_section_callback ticket-hub/includes/th-page-settings.php:94 function th_settings_field_callback ticket-hub/includes/th-page-settings.php:108 function th_append_shortcode_to_content ticket-hub/includes/th-page-settings.php:133 function th_page_options ticket-hub/includes/th-form-editor-tab.php:8 update_option('th_disable_attachments', isset($_POST['disable_attachments']) ? 1 : 0); ticket-hub/includes/th-form-editor-tab.php:29 update_option('th_custom_fields', $fields); ticket-hub/includes/th-form-editor-tab.php:3 function th_ticket_editor_page ticket-hub/shortcodes/th-tickets-sc.php:3 add_shortcode('th_tickets', function ($atts) { $options = get_option('th_plus_options'); $allow_export = isset($options['allow_export']) && $options['allow_export'] == 1; static $tickets_enqueue = false; $attributes = shortcode_atts(array('user_id' => ''), $atts); // Sanitize the user_id attribute $attributes['user_id'] = sanitize_text_field($attributes['user_id']); if (!$tickets_enqueue) { wp_enqueue_script('th-tickets-script', PLUGIN_ROOT . 'js/th-tickets.js', array('jquery'), '', true); wp_localize_script('th-tickets-script', 'ajax_params', array('ajax_url' => esc_url(admin_url('admin-ajax.php')), 'user_id' => $attributes['user_id'], 'nonce' => wp_create_nonce('fetch_tickets_nonce'))); wp_enqueue_style('th-tickets-style', PLUGIN_ROOT . 'css/th-tickets.css', array(), '', 'all'); $tickets_enqueue = true; } ob_start(); $status_choices = array('New' => ('New', 'tickethub'), 'Processing' => ('Processing', 'tickethub'), 'Done' => ('Done', 'tickethub')); $type_choices = array('Support' => ('Support', 'tickethub'), 'Bug report' => ('Bug report', 'tickethub'), 'Change request' => __('Change request', 'tickethub')); echo '

'; echo '<input type="text" id="th-ticket-search" placeholder="' . esc_attr('Search', 'tickethub') . '">'; echo '
'; echo ''; echo ''; echo ''; echo '
'; if ($allow_export) { echo ''; } echo '
'; echo ''; if (empty($attributes['user_id'])) { echo ''; } echo ''; echo '
' . esc_html('ID', 'tickethub') . '' . esc_html__('Status', 'tickethub') . '' . esc_html('Type', 'tickethub') . '' . esc_html('Date', 'tickethub') . '' . esc_html('Creator', 'tickethub') . '
'; echo '
'; return ob_get_clean(); }); ticket-hub/shortcodes/th-ticket-sc.php:3 add_shortcode('th_ticket', function ($atts) { static $ticket_enqueue = false; if (!$ticket_enqueue) { wp_enqueue_script('th-lightbox-script', PLUGIN_ROOT . 'js/th-lightbox.js', array('jquery'), '', true); wp_enqueue_style('th-ticket-style', PLUGIN_ROOT . 'css/th-ticket.css', array(), '', 'all'); $ticket_enqueue = true; } $atts = shortcode_atts(array('id' => ''), $atts); $post_id = intval($atts['id']); // Get the options $options = get_option('th_options'); $tickets_page_id = isset($options['th_tickets']) ? intval($options['th_tickets']) : 0; $tickets_page_url = $tickets_page_id ? get_permalink($tickets_page_id) : home_url('/'); ob_start(); if ($post_id && get_post($post_id)) { if (get_post_status($post_id) != 'private') { $author_id = get_post_field('post_author', $post_id); $email = get_the_author_meta('email', $author_id); $first_name = get_the_author_meta('first_name', $author_id); $last_name = get_the_author_meta('last_name', $author_id); $ticket_author = $first_name . ' ' . $last_name; if (empty($first_name) && empty($last_name)) { $ticket_author = get_the_author_meta('display_name', $author_id); } $current_tags = wp_get_post_terms($post_id, 'th_ticket_tag', array("fields" => "slugs")); $related_args = array('post_type' => 'th_ticket', 'post_status' => 'publish', 'posts_per_page' => -1, 'postnot_in' => array($post_id), 'tax_query' => array(array('taxonomy' => 'th_ticket_tag', 'field' => 'slug', 'terms' => $current_tags))); $related_tickets = new WP_Query($related_args); ?>
<?php _e('Back', 'tickethub'); ?> <?php $ticket_id = get_post_meta($post_id, 'th_ticket_id', true); if (!empty($ticket_id)) { echo '

' . esc_html($ticket_id) . '

'; } if ($related_tickets->have_posts()) { echo '
' . esc_html('Related Tickets', 'tickethub') . ''; while ($related_tickets->have_posts()) { $related_tickets->the_post(); echo '
' . esc_html(get_the_title()) . '
'; } echo '
'; } echo '

' . esc_html('Description', 'tickethub') . '

' . esc_html(get_post_meta($post_id, 'th_ticket_description', true)) . '

'; $fields = ['th_ticket_status' => ('Status', 'tickethub'), 'th_ticket_type' => ('Type', 'tickethub')]; // TODO: Turn SVG into pseudo element with CSS $zoomSVG = ' '; echo '
'; $index = 0; foreach ($fields as $field => $label) { $value = get_post_meta($post_id, $field, true); echo '

' . esc_html($label) . '

' . esc_html($value) . '

'; if ($index == 1) { echo '

' . esc_html('Creator', 'tickethub') . '

' . esc_html($ticket_author) . '

'; echo '

' . esc_html('E-Mail', 'tickethub') . '

' . esc_html($email) . '

'; } $index++; } echo '
'; $custom_fields = get_option('th_custom_fields', []); $custom_field_values = array_filter($custom_fields, function ($field) use($post_id) { return get_post_meta($postid, 'thcf' . sanitize_title($field['label']), true); }); if (!empty($custom_field_values)) { foreach ($custom_field_values as $field) { $field_value = get_post_meta($postid, 'thcf' . sanitize_title($field['label']), true); echo '
'; echo '

' . esc_html($field['label']); echo '

'; if ($field['type'] === 'text' || $field['type'] === 'textarea') { echo '

' . esc_html($field_value) . '

'; } elseif ($field['type'] === 'select') { echo '

' . esc_html($field_value) . '

'; } echo '
'; } } $attachments = get_posts(array('post_type' => 'attachment', 'posts_per_page' => -1, 'post_parent' => $post_id)); $image_attachments = []; $other_attachments = []; foreach ($attachments as $attachment) { $file_path = get_attached_file($attachment->ID); $file_type = wp_check_filetype($file_path); if (strpos($file_type['type'], 'image') !== false) { $image_attachments[] = $attachment; } else { $other_attachments[] = $attachment; } } if (!empty($image_attachments) || !empty($other_attachments)) { echo '

' . esc_html('Attachments', 'tickethub') . '

'; echo '
'; foreach ($image_attachments as $attachment) { $image_url = wp_get_attachment_url($attachment->ID); if ($image_url) { echo '
' . esc_attr($attachment->post_title) . '' . $zoomSVG . '
'; } } echo '
'; foreach ($other_attachments as $attachment) { echo ''; } echo '
'; } ?>
<?php if (current_user_can('comment_tickets') || current_user_can('administrator')) { echo '
'; echo '
'; echo '

' . esc_html('Comments', 'tickethub') . '

'; $top_level_comments = get_comments(array('post_id' => $post_id, 'status' => 'approve', 'parent' => 0)); if ($top_level_comments) { foreach ($top_level_comments as $comment) { display_comment_with_replies($comment); } } else { echo '

' . esc_html('No comments yet.', 'tickethub') . '

'; } echo '
'; echo '
'; if (comments_open($post_id)) { $args = array('post_id' => $post_id, 'title_reply' => '', 'comment_field' => '', 'fields' => array(), 'label_submit' => esc_html('Comment', 'tickethub'), 'comment_notes_before' => '', 'comment_notes_after' => '', 'submit_button' => ''); comment_form($args); } else { echo '

' . esc_html__('Comments are closed for this ticket', 'tickethub') . '

'; } echo '
'; } } else { echo '

' . esc_html('This ticket is private and cannot be displayed.', 'tickethub') . '

'; } } else { echo '

' . esc_html('Invalid ticket ID.', 'tickethub') . '

'; } return ob_get_clean(); }); ticket-hub/shortcodes/th-form-sc.php:3 add_shortcode('th_form', function () { if (!current_user_can('submit_tickets') && !current_user_can('administrator')) { return ''; } static $ticket_form_enqueue = false; if (!$ticket_form_enqueue) { wp_enqueue_style('th-form-style', PLUGIN_ROOT . 'css/th-form.css', array(), '', 'all'); wp_enqueue_script('th-form-script', PLUGIN_ROOT . 'js/th-form.js', array('jquery'), '', true); $ticket_form_enqueue = true; } // Fetch custom fields and attachment setting $custom_fields = get_option('th_custom_fields', []); $disable_attachments = get_option('th_disable_attachments', 0); // 0 is unchecked by default // Get the maximum upload size from PHP configuration $max_upload_size = wp_max_upload_size(); ob_start(); ?>
<?php wp_nonce_field('submit_ticket_nonce', 'ticket_nonce_field'); ?> <?php if (!$disable_attachments) { // Check if attachments are enabled ?> <?php } ?> <?php foreach ($custom_fields as $field) { ?> <?php } ?> <?php return ob_get_clean(); }); ticket-hub/shortcodes/th-profile-sc.php:3 add_shortcode('th_profile', function () { static $th_ticket_creator_enqueue = false; if (!$th_ticket_creator_enqueue) { wp_enqueue_style('th-profile-style', PLUGIN_ROOT . 'css/th-profile.css', array(), '', 'all'); $th_ticket_creator_enqueue = true; } // Check if user is logged in if (!is_user_logged_in()) { // User is not logged in, display the WordPress login form $args = array( 'echo' => false, 'redirect' => (is_ssl() ? 'https://' : 'http://') . sanitize_text_field($_SERVER['HTTP_HOST']) . sanitize_text_field($_SERVER['REQUEST_URI']), // Redirect back to the current page 'form_id' => 'th-loginform', 'label_username' =>
('Username', 'tickethub'), 'label_password' =>
('Password', 'tickethub'), 'label_remember' => ('Remember Me', 'tickethub'), 'label_log_in' => ('Log In', 'tickethub'), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_remember' => 'rememberme', 'id_submit' => 'wp-submit', 'remember' => true, 'value_username' => '', 'value_remember' => false, ); return wp_login_form($args); } else { // User is logged in, display the custom message and a logout button ob_start(); $current_user = wp_get_current_user(); $first_name = esc_html($current_user->user_firstname); // Get first name and escape it // If first name is not set, fallback to displaying the username if (empty($first_name)) { $first_name = esc_html($current_user->display_name); } $logout_url = wp_logout_url(get_permalink()); // This will redirect users to the same page after logging out echo '

' . esc_html('Profile', 'tickethub') . '

' . esc_html__('Logout', 'tickethub') . '
'; echo '

' . sprintf(esc_html('Hello %s', 'tickethub'), $first_name) . '

'; // Call the 'th_tickets' shortcode with the current user's ID echo '

' . esc_html('Your Tickets', 'tickethub') . '

'; $user_id = intval($current_user->ID); // Sanitize user ID echo do_shortcode('[th_tickets user_id="' . esc_attr($user_id) . '"]'); return ob_get_clean(); } }); ticket-hub/shortcodes/th-faqs-sc.php:3 add_shortcode('th_faqs', function () { global $th_accordion_enqueue; if (!$th_accordion_enqueue) { wp_enqueue_script('th-accordion-script', PLUGIN_ROOT . 'js/th-accordion.js', array('jquery'), '', true); wp_enqueue_style('th-accordion-style', PLUGIN_ROOT . 'css/th-accordion.css', array(), '', 'all'); $th_accordion_enqueue = true; } ob_start(); // Start output buffering $args = array( 'post_type' => 'th_faq', // Hardcoded to 'th_faq' post type 'posts_per_page' => -1, ); $the_query = new WP_Query($args); if ($the_query->have_posts()) { echo '
'; while ($the_query->have_posts()) { $the_query->the_post(); echo '
'; echo '
'; echo '

' . esc_html(get_the_title()) . '

' . esc_html(get_the_date('F j, Y')) . '

'; echo '
'; echo '
'; // If the content contains HTML, consider using the_content filter. Otherwise, for plain text, use esc_html(). echo apply_filters('the_content', wp_kses_post(get_post_meta(get_the_ID(), '_th_answer', true))); echo '
'; echo '
'; } echo '
'; } else { echo '

' . esc_html('No FAQs found.', 'tickethub') . '

'; } wp_reset_postdata(); return ob_get_clean(); // Return the buffered output }); ticket-hub/shortcodes/th-faqs-sc.php:4 $th_accordion_enqueue; ticket-hub/shortcodes/th-documentation-sc.php:3 add_shortcode('th_documentation', function () { static $documentation_enqueue = false; if (!$documentation_enqueue) { wp_enqueue_script('th-documentation-script', PLUGIN_ROOT . 'js/th-documentation.js', array('jquery'), '', true); wp_enqueue_style('th-documentation-style', PLUGIN_ROOT . 'css/th-documentation.css', array(), '', 'all'); $documentation_enqueue = true; } ob_start(); // Start output buffering $args = array( 'post_type' => 'th_document', // Set to 'document' post type 'posts_per_page' => -1, // Retrieve all document posts 'post_status' => 'publish', ); // Retrieve all documents to build the list of file types $file_types = []; $all_documents_query = new WP_Query($args); while ($all_documents_query->have_posts()) { $all_documents_query->the_post(); $document_id = get_the_ID(); $document_type = get_post_meta($document_id, 'type', true); if ($document_type === 'File') { $file_id = get_post_meta($document_id, 'file', true); $file_path = get_attached_file($file_id); $file_type = wp_check_filetype($file_path); $file_extension = strtoupper($file_type['ext']); // Get stored file extension if ($file_extension && !in_array($file_extension, $file_types)) { $file_types[] = $file_extension; // Add unique file type to the list } } } wp_reset_postdata(); // Output the search field and dropdown for filtering by document type (File types or Link) echo '
'; echo ''; echo ''; echo '
'; // Query for the actual display $the_query = new WP_Query($args); echo ''; while ($the_query->have_posts()) { $the_query->the_post(); $document_id = get_the_ID(); $document_name = get_the_title(); $document_type = get_post_meta($document_id, 'type', true); $type_display = ''; $document_url = '#'; $button_text = ''; $download_attribute = ''; $icon_svg = ''; if ($document_type === 'File') { $file_id = get_post_meta($document_id, 'file', true); $document_url = wp_get_attachment_url($file_id); $file_path = get_attached_file($file_id); $file_type = wp_check_filetype($file_path); $file_extension = strtoupper($file_type['ext']); $type_display = esc_html($file_extension); $button_text = '' . esc_html('Download', 'tickethub') . ''; $download_attribute = ' download'; // Set the download SVG icon for files // TODO: Turn SVG Sting into pseudo element with CSS $icon_svg = ' '; } elseif ($document_type === 'Link') { $document_url = esc_url(get_post_meta($document_id, 'link', true)); $type_display = esc_html('LINK', 'tickethub'); $button_text = '' . esc_html('Open', 'tickethub') . ''; // Set the open SVG icon for links // TODO: Turn SVG Sting into pseudo element with CSS $icon_svg = ' '; } echo "<tr data-document-type='" . esc_attr($document_type === 'File' ? $file_extension : 'LINK') . "'>"; echo ''; echo ''; echo ''; } echo '
' . esc_html('Type', 'tickethub') . '' . esc_html('Name', 'tickethub') . '
' . esc_html($type_display) . '
' . esc_html($document_name) . '
<a href="' . esc_url($document_url) . '" target="_blank"' . $download_attribute . '>' . $icon_svg . ' ' . $button_text . '
'; wp_reset_postdata(); return ob_get_clean(); // Return the buffered output }); ticket-hub/shortcodes/th-changelog-sc.php:3 add_shortcode('th_changelog', function () { global $th_accordion_enqueue; if (!$th_accordion_enqueue) { wp_enqueue_script('th-accordion-script', PLUGIN_ROOT . 'js/th-accordion.js', array('jquery'), '', true); wp_enqueue_style('th-accordion-style', PLUGIN_ROOT . 'css/th-accordion.css', array(), '', 'all'); $th_accordion_enqueue = true; } ob_start(); $args = array('post_type' => 'th_change', 'posts_per_page' => -1, 'orderby' => 'date', 'order' => 'DESC'); $the_query = new WP_Query($args); if ($the_query->have_posts()) { echo '
'; while ($the_query->have_posts()) { $the_query->the_post(); echo '
'; echo '
'; echo '

' . esc_html(get_the_title()) . '

' . esc_html(get_the_date('F j, Y')) . '

'; echo '
'; echo '
'; // If the log content contains HTML, consider using the_content filter. Otherwise, for plain text, use wp_kses_post(). echo apply_filters('the_content', wp_kses_post(get_post_meta(get_the_ID(), '_th_log', true))); echo '
'; echo '
'; } echo '
'; } else { echo '

' . esc_html('No changes found.', 'tickethub') . '

'; } wp_reset_postdata(); return ob_get_clean(); }); ticket-hub/shortcodes/th-changelog-sc.php:4 $th_accordion_enqueue; ticket-hub/post-types/th-change-pt.php:4 register_post_type('th_change', array('labels' => array('name' => __('Changes', 'tickethub'), 'singular_name' => ('Change', 'tickethub'), 'menu_name' => ('Changes', 'tickethub'), 'all_items' => __('Changes', 'tickethub'), 'edit_item' => ('Edit Change', 'tickethub'), 'view_item' => ('View Change', 'tickethub'), 'view_items' => ('View Changes', 'tickethub'), 'add_new_item' => ('Add New Change', 'tickethub'), 'add_new' => ('Add New Change', 'tickethub'), 'new_item' => ('New Change', 'tickethub'), 'parent_item_colon' => ('Parent Change:', 'tickethub'), 'search_items' => ('Search Changes', 'tickethub'), 'not_found' => __('No changes found', 'tickethub'), 'not_found_in_trash' => ('No changes found in Trash', 'tickethub'), 'archives' => ('Change Archives', 'tickethub'), 'attributes' => ('Change Attributes', 'tickethub'), 'insert_into_item' => ('Insert into change', 'tickethub'), 'uploaded_to_this_item' => ('Uploaded to this change', 'tickethub'), 'filter_items_list' => ('Filter changes list', 'tickethub'), 'filter_by_date' => ('Filter changes by date', 'tickethub'), 'items_list_navigation' => ('Changes list navigation', 'tickethub'), 'items_list' => ('Changes list', 'tickethub'), 'item_published' => ('Change published.', 'tickethub'), 'item_published_privately' => ('Change published privately.', 'tickethub'), 'item_reverted_to_draft' => ('Change reverted to draft.', 'tickethub'), 'item_scheduled' => __('Change scheduled.', 'tickethub'), 'item_updated' => ('Change updated.', 'tickethub'), 'item_link' => ('Change Link', 'tickethub'), 'item_link_description' => ('A link to a change.', 'tickethub')), 'public' => true, 'show_in_menu' => 'th_main_menu', 'menu_position' => 2, 'show_in_rest' => true, 'supports' => array('title'))); ticket-hub/post-types/th-faq-pt.php:4 register_post_type('th_faq', array('labels' => array('name' => ('FAQs', 'tickethub'), 'singular_name' => __('FAQ', 'tickethub'), 'menu_name' => ('FAQs', 'tickethub'), 'all_items' => ('FAQs', 'tickethub'), 'edit_item' => __('Edit FAQ', 'tickethub'), 'view_item' => ('View FAQ', 'tickethub'), 'view_items' => ('View FAQs', 'tickethub'), 'add_new_item' => ('Add New FAQ', 'tickethub'), 'add_new' => ('Add New FAQ', 'tickethub'), 'new_item' => ('New FAQ', 'tickethub'), 'parent_item_colon' => ('Parent FAQ:', 'tickethub'), 'search_items' => ('Search FAQs', 'tickethub'), 'not_found' => ('No faqs found', 'tickethub'), 'not_found_in_trash' => ('No faqs found in Trash', 'tickethub'), 'archives' => ('FAQ Archives', 'tickethub'), 'attributes' => ('FAQ Attributes', 'tickethub'), 'insert_into_item' => ('Insert into faq', 'tickethub'), 'uploaded_to_this_item' => ('Uploaded to this faq', 'tickethub'), 'filter_items_list' => ('Filter faqs list', 'tickethub'), 'filter_by_date' => ('Filter faqs by date', 'tickethub'), 'items_list_navigation' => ('FAQs list navigation', 'tickethub'), 'items_list' => __('FAQs list', 'tickethub'), 'item_published' => ('FAQ published.', 'tickethub'), 'item_published_privately' => ('FAQ published privately.', 'tickethub'), 'item_reverted_to_draft' => __('FAQ reverted to draft.', 'tickethub'), 'item_scheduled' => ('FAQ scheduled.', 'tickethub'), 'item_updated' => ('FAQ updated.', 'tickethub'), 'item_link' => ('FAQ Link', 'tickethub'), 'item_link_description' => ('A link to a faq.', 'tickethub')), 'public' => true, 'show_in_menu' => 'th_main_menu', 'menu_position' => 3, 'show_in_rest' => true, 'supports' => array('title'))); ticket-hub/post-types/th-ticket-pt.php:14 register_post_type('th_ticket', array( 'labels' => array('name' => __('Tickets', 'tickethub'), 'singular_name' => ('Ticket', 'tickethub'), 'menu_name' => ('Tickets', 'tickethub'), 'all_items' => __('Tickets', 'tickethub'), 'edit_item' => ('Edit Ticket', 'tickethub'), 'view_item' => ('View Ticket', 'tickethub'), 'view_items' => ('View Tickets', 'tickethub'), 'add_new_item' => ('Add New Ticket', 'tickethub'), 'add_new' => ('Add New Ticket', 'tickethub'), 'new_item' => ('New Ticket', 'tickethub'), 'parent_item_colon' => ('Parent Ticket:', 'tickethub'), 'search_items' => ('Search Tickets', 'tickethub'), 'not_found' => __('No tickets found', 'tickethub'), 'not_found_in_trash' => ('No tickets found in Trash', 'tickethub'), 'archives' => ('Ticket Archives', 'tickethub'), 'attributes' => ('Ticket Attributes', 'tickethub'), 'insert_into_item' => ('Insert into ticket', 'tickethub'), 'uploaded_to_this_item' => ('Uploaded to this ticket', 'tickethub'), 'filter_items_list' => ('Filter tickets list', 'tickethub'), 'filter_by_date' => ('Filter tickets by date', 'tickethub'), 'items_list_navigation' => ('Tickets list navigation', 'tickethub'), 'items_list' => ('Tickets list', 'tickethub'), 'item_published' => ('Ticket published.', 'tickethub'), 'item_published_privately' => ('Ticket published privately.', 'tickethub'), 'item_reverted_to_draft' => ('Ticket reverted to draft.', 'tickethub'), 'item_scheduled' => __('Ticket scheduled.', 'tickethub'), 'item_updated' => ('Ticket updated.', 'tickethub'), 'item_link' => ('Ticket Link', 'tickethub'), 'item_link_description' => ('A link to a ticket.', 'tickethub')), 'description' => ('These are the tickets created by people.', 'tickethub'), 'public' => true, 'show_in_menu' => 'th_main_menu', 'menu_position' => 1, 'show_in_rest' => true, 'supports' => array('title', 'author', 'comments'), 'delete_with_user' => true, 'taxonomies' => array('th_ticket_tag'), // Enable tag support 'capability_type' => 'post', 'map_meta_cap' => true, 'capabilities' => array('edit_post' => 'edit_th_ticket', 'read_post' => 'read_th_ticket', 'delete_post' => 'delete_th_ticket', 'edit_posts' => 'edit_th_tickets', 'edit_others_posts' => 'edit_others_th_tickets', 'publish_posts' => 'publish_th_tickets', 'read_private_posts' => 'read_private_th_tickets'), 'has_archive' => true, )); ticket-hub/post-types/th-ticket-pt.php:82 register_taxonomy('th_ticket_tag', 'th_ticket', array('labels' => array('name' => ('Ticket Tags', 'tickethub'), 'singular_name' => ('Ticket Tag', 'tickethub'), 'menu_name' => __('Ticket Tags', 'tickethub'), 'all_items' => ('All Ticket Tags', 'tickethub'), 'edit_item' => ('Edit Ticket Tag', 'tickethub'), 'view_item' => __('View Ticket Tag', 'tickethub'), 'update_item' => ('Update Ticket Tag', 'tickethub'), 'add_new_item' => ('Add New Ticket Tag', 'tickethub'), 'new_item_name' => ('New Ticket Tag Name', 'tickethub'), 'search_items' => ('Search Ticket Tags', 'tickethub'), 'popular_items' => __('Popular Ticket Tags', 'tickethub'), 'separate_items_with_commas' => ('Separate ticket tags with commas', 'tickethub'), 'add_or_remove_items' => ('Add or remove ticket tags', 'tickethub'), 'choose_from_most_used' => __('Choose from the most used ticket tags', 'tickethub'), 'not_found' => ('No ticket tags found', 'tickethub')), 'public' => true, 'show_in_rest' => true)); ticket-hub/post-types/th-ticket-pt.php:431 function th_search_by_ticket_id ticket-hub/post-types/th-document-pt.php:4 register_post_type('th_document', array('labels' => array('name' => ('Documents', 'tickethub'), 'singular_name' => __('Document', 'tickethub'), 'menu_name' => ('Documents', 'tickethub'), 'all_items' => ('Documents', 'tickethub'), 'edit_item' => __('Edit Document', 'tickethub'), 'view_item' => ('View Document', 'tickethub'), 'view_items' => ('View Documents', 'tickethub'), 'add_new_item' => ('Add New Document', 'tickethub'), 'add_new' => ('Add New Document', 'tickethub'), 'new_item' => ('New Document', 'tickethub'), 'parent_item_colon' => ('Parent Document:', 'tickethub'), 'search_items' => ('Search Documents', 'tickethub'), 'not_found' => ('No documents found', 'tickethub'), 'not_found_in_trash' => ('No documents found in Trash', 'tickethub'), 'archives' => ('Document Archives', 'tickethub'), 'attributes' => ('Document Attributes', 'tickethub'), 'insert_into_item' => ('Insert into document', 'tickethub'), 'uploaded_to_this_item' => ('Uploaded to this document', 'tickethub'), 'filter_items_list' => ('Filter documents list', 'tickethub'), 'filter_by_date' => ('Filter documents by date', 'tickethub'), 'items_list_navigation' => ('Documents list navigation', 'tickethub'), 'items_list' => __('Documents list', 'tickethub'), 'item_published' => ('Document published.', 'tickethub'), 'item_published_privately' => ('Document published privately.', 'tickethub'), 'item_reverted_to_draft' => __('Document reverted to draft.', 'tickethub'), 'item_scheduled' => ('Document scheduled.', 'tickethub'), 'item_updated' => __('Document updated.', 'tickethub'), 'item_link' => ('Document Link', 'tickethub'), 'item_link_description' => ('A link to a document.', 'tickethub')), 'description' => __('Add links or files as your documentation', 'tickethub'), 'public' => true, 'show_in_menu' => 'th_main_menu', 'menu_position' => 4, 'show_in_rest' => true, 'supports' => array('title')));

Looks like there are elements not using common prefixes.

ticket-hub/includes/th-page-settings.php:51 add_settings_field('ticket_prefix', esc_html('Ticket Prefix', 'tickethub'), 'th_text_field_callback', 'th_general', 'th_ticket_id_section', array('label_for' => 'ticket_prefix')); ticket-hub/includes/th-page-settings.php:52 add_settings_field('ticket_suffix', esc_html__('Ticket Suffix', 'tickethub'), 'th_text_field_callback', 'th_general', 'th_ticket_id_section', array('label_for' => 'ticket_suffix')); ticket-hub/includes/th-page-settings.php:55 add_settings_field('archive_days', esc_html('Days to Archive', 'tickethub'), 'th_number_field_callback', 'th_general', 'th_archive_settings_section', array('label_for' => 'archive_days')); ticket-hub/ticket-hub.php:16 define('PLUGIN_ROOT', plugin_dir_url(FILE)); ticket-hub/ticket-hub.php:18 function mondula_require_files ticket-hub/ticket-hub.php:102 function enqueue_admin_post_status_script

KamiCasi commented 3 weeks ago

alle tags mit thub ersetzt und rest mit thub ergänzt, letzter Eintrag

"looks like there are elements not using common prefixes"

wusste ich nicht ob ich da was ändern soll

617432bbe64f0f75b1f74e851fc16af16a9ea0f1