📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-04 05:44:21
📂
/ (Root)
/
home
/
orkouolp
/
web
/
orkofarms.com
/
wp-content
/
plugins
/
martfury-addons
/
inc
📍 /home/orkouolp/web/orkofarms.com/wp-content/plugins/martfury-addons/inc
🔄 Refresh
✏️
Editing: taxonomies.php
Writable
<?php /** * Register post types * * @package Martfury */ /** * Class Martfury_Taxonomies */ class Martfury_Taxonomies { /** * Construction function * * @since 1.0.0 * * @return Martfury_Taxonomies */ /** * Check if active brand * * @var bool */ private $active_brand = true; private $option = 'product_brand_slug'; /** * @var string placeholder image */ public $placeholder_img_src; public function __construct() { if ( ! function_exists( 'is_woocommerce' ) ) { return false; } add_action( 'admin_init', array( $this, 'settings_api_init' ) ); add_action( 'current_screen', array( $this, 'settings_save' ) ); $this->active_brand = apply_filters( 'martfury_register_brand', true ); if ( ! $this->active_brand ) { return false; } if ( get_option( $this->option ) ) { return false; } // Register custom post type and custom taxonomy add_action( 'init', array( $this, 'register_brand' ), 100 ); add_action( 'admin_enqueue_scripts', array( $this, 'register_admin_scripts' ) ); $this->placeholder_img_src = MARTFURY_ADDONS_URL . '/img/placeholder.png'; // Add form add_action( 'product_brand_add_form_fields', array( $this, 'add_category_fields' ) ); add_action( 'product_brand_edit_form_fields', array( $this, 'edit_category_fields' ), 20 ); add_action( 'created_term', array( $this, 'save_category_fields' ), 20, 3 ); add_action( 'edit_term', array( $this, 'save_category_fields' ), 20, 3 ); // Add columns add_filter( 'manage_edit-product_brand_columns', array( $this, 'product_brand_columns' ) ); add_filter( 'manage_product_brand_custom_column', array( $this, 'product_brand_column' ), 10, 3 ); add_filter( 'woocommerce_sortable_taxonomies', array( $this, 'product_brand_sortable' ) ); } /** * Register custom post type for testimonails * * @since 1.0.0 * * @return void */ public function register_brand() { // Return if post type is exists if ( post_type_exists( 'mf-brand' ) ) { return; } if ( ! post_type_exists( 'product' ) ) { return; } $labels = array( 'name' => __( 'Brands', 'martfury-addons' ), 'singular_name' => __( 'Brand', 'martfury-addons' ), 'menu_name' => __( 'Brands', 'martfury-addons' ), 'all_items' => __( 'All Brands', 'martfury-addons' ), 'edit_item' => __( 'Edit Brand', 'martfury-addons' ), 'view_item' => __( 'View Brand', 'martfury-addons' ), 'update_item' => __( 'Update Brand', 'martfury-addons' ), 'add_new_item' => __( 'Add New Brand', 'martfury-addons' ), 'new_item_name' => __( 'New Brand Name', 'martfury-addons' ), 'parent_item' => __( 'Parent Brand', 'martfury-addons' ), 'parent_item_colon' => __( 'Parent Brand:', 'martfury-addons' ), 'search_items' => __( 'Search Brands', 'martfury-addons' ), 'popular_items' => __( 'Popular Brands', 'martfury-addons' ), 'separate_items_with_commas' => __( 'Separate brands with commas', 'martfury-addons' ), 'add_or_remove_items' => __( 'Add or remove brands', 'martfury-addons' ), 'choose_from_most_used' => __( 'Choose from the most used brands', 'martfury-addons' ), 'not_found' => __( 'No brands found', 'martfury-addons' ) ); $permalinks = get_option( 'product_brand_permalinks' ); $product_brand_base = empty( $permalinks['product_brand_base'] ) ? _x( 'product-brand', 'slug', 'martfury-addons' ) : $permalinks['product_brand_base']; $args = array( 'hierarchical' => true, 'update_count_callback' => '_wc_term_recount', 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => $product_brand_base, 'hierarchical' => true, 'ep_mask' => EP_PERMALINK ) ); register_taxonomy( 'product_brand', array( 'product' ), $args ); } public function register_admin_scripts( $hook ) { $screen = get_current_screen(); if ( $hook == 'edit-tags.php' && $screen->taxonomy == 'product_brand' || $hook == 'term.php' && $screen->taxonomy == 'product_brand' ) { wp_enqueue_media(); wp_enqueue_script( 'mf_product_brand_js', MARTFURY_ADDONS_URL . "/assets/js/taxonomies.js", array( 'jquery' ), '20160802', true ); } } public function product_brand_sortable( $taxonomy ) { $taxonomy[] = 'product_brand'; return $taxonomy; } /** * Add field in 'Settings' > 'Reading' * for enabling CPT functionality. */ public function settings_api_init() { add_settings_section( 'martfury_brand_section', '<span id="brand-options">' . esc_html__( 'Product brand', 'martfury-addons' ) . '</span>', array( $this, 'writing_section_html' ), 'writing' ); add_settings_field( $this->option, '<span class="brand-options">' . esc_html__( 'Product brand', 'martfury-addons' ) . '</span>', array( $this, 'disable_field_html' ), 'writing', 'martfury_brand_section' ); register_setting( 'writing', $this->option, 'intval' ); add_settings_field( 'product_brand_slug', '<label for="product_brand_slug">' . esc_html__( 'Product brand base', 'martfury-addons' ) . '</label>', array( $this, 'product_brand_slug_input' ), 'permalink', 'optional' ); register_setting( 'permalink', 'product_brand_slug', 'sanitize_text_field' ); } /** * Show a slug input box. */ public function product_brand_slug_input() { $permalinks = get_option( 'product_brand_permalinks' ); $brand_base = isset( $permalinks['product_brand_base'] ) ? $permalinks['product_brand_base'] : ''; ?> <input name="product_brand_slug" type="text" class="regular-text code" value="<?php echo esc_attr( $brand_base ); ?>" placeholder="<?php echo esc_attr_x( 'product-brand', 'slug', 'martfury-addons' ) ?>" /> <?php } /** * Save the settings. */ public function settings_save() { if ( ! is_admin() ) { return; } if ( ! $screen = get_current_screen() ) { return; } if ( 'options-permalink' != $screen->id ) { return; } $permalinks = get_option( 'product_brand_permalinks' ); if ( isset( $_POST['product_brand_slug'] ) ) { $permalinks['product_brand_base'] = $this->sanitize_permalink( trim( $_POST['product_brand_slug'] ) ); } update_option( 'product_brand_permalinks', $permalinks ); } /** * Sanitize permalink * * @param string $value * * @return string */ private function sanitize_permalink( $value ) { global $wpdb; $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value ); if ( is_wp_error( $value ) ) { $value = ''; } $value = esc_url_raw( $value ); $value = str_replace( 'http://', '', $value ); return untrailingslashit( $value ); } /** * Category thumbnail fields. */ public function add_category_fields() { ?> <div class="form-field" id="product-brand-thumb-box"> <label><?php esc_html_e( 'Thumbnail', 'martfury-addons' ); ?></label> <div id="product_brand_thumb" class="product-brand-thumb" data-rel="<?php echo esc_url( $this->placeholder_img_src ); ?>"> <img src="<?php echo esc_url( $this->placeholder_img_src ); ?>" width="60px" height="60px" /></div> <div class="product-brand-thumb-box"> <input type="hidden" id="product_brand_thumb_id" name="product_brand_thumb_id" /> <button type="button" class="upload_image_button button"><?php esc_html_e( 'Upload/Add image', 'martfury-addons' ); ?></button> <button type="button" class="remove_image_button button"><?php esc_html_e( 'Remove image', 'martfury-addons' ); ?></button> </div> <div class="clear"></div> </div> <?php } /** * Edit category thumbnail field. * * @param mixed $term Term (category) being edited */ public function edit_category_fields( $term ) { $thumbnail_id = ''; if ( function_exists( 'get_term_meta' ) ) { $thumbnail_id = absint( get_term_meta( $term->term_id, 'brand_thumbnail_id', true ) ); } if ( $thumbnail_id ) { $image = wp_get_attachment_thumb_url( $thumbnail_id ); } else { $image = $this->placeholder_img_src; } ?> <tr class="form-field product-brand-thumb" id="product-brand-thumb-box"> <th scope="row" valign="top"><label><?php esc_html_e( 'Thumbnail', 'martfury-addons' ); ?></label></th> <td> <div id="product_brand_thumb" class="product-brand-thumb" data-rel="<?php echo esc_url( $this->placeholder_img_src ); ?>"> <img src="<?php echo esc_url( $image ); ?>" width="60px" height="60px" /> </div> <div class="product-brand-thumb-box"> <input type="hidden" id="product_brand_thumb_id" name="product_brand_thumb_id" value="<?php echo esc_attr( $thumbnail_id ); ?>" /> <button type="button" class="upload_image_button button"><?php esc_html_e( 'Upload/Add image', 'martfury-addons' ); ?></button> <button type="button" class="remove_image_button button"><?php esc_html_e( 'Remove image', 'martfury-addons' ); ?></button> </div> <div class="clear"></div> </td> </tr> <?php } /** * save_category_fields function. * * @param mixed $term_id Term ID being saved * @param mixed $tt_id * @param string $taxonomy */ public function save_category_fields( $term_id, $tt_id = '', $taxonomy = '' ) { if ( isset( $_POST['product_brand_thumb_id'] ) && 'product_brand' === $taxonomy && function_exists( 'update_woocommerce_term_meta' ) ) { update_woocommerce_term_meta( $term_id, 'brand_thumbnail_id', absint( $_POST['product_brand_thumb_id'] ) ); } } /** * Thumbnail column added to category admin. * * @param mixed $columns * * @return array */ public function product_brand_columns( $columns ) { $new_columns = array(); if ( isset( $columns['cb'] ) ) { $new_columns['cb'] = $columns['cb']; unset( $columns['cb'] ); } $new_columns['thumb'] = esc_html__( 'Image', 'martfury-addons' ); return array_merge( $new_columns, $columns ); } /** * Thumbnail column value added to category admin. * * @param string $columns * @param string $column * @param int $id * * @return string */ public function product_brand_column( $columns, $column, $id ) { if ( 'thumb' == $column ) { $thumbnail_id = get_term_meta( $id, 'brand_thumbnail_id', true ); if ( $thumbnail_id ) { $image = wp_get_attachment_thumb_url( $thumbnail_id ); } else { $image = $this->placeholder_img_src; } // Prevent esc_url from breaking spaces in urls for image embeds // Ref: https://core.trac.wordpress.org/ticket/23605 $image = str_replace( ' ', '%20', $image ); $columns .= '<img src="' . esc_url( $image ) . '" alt="' . esc_attr__( 'Thumbnail', 'martfury-addons' ) . '" class="wp-post-image" height="48" width="48" />'; } return $columns; } /** * Add writing setting section */ public function writing_section_html() { ?> <p> <?php esc_html_e( 'Use these settings to disable custom types of content on your site', 'martfury-addons' ); ?> </p> <?php } /** * HTML code to display a checkbox true/false option * for the Services CPT setting. */ public function disable_field_html() { ?> <label for="<?php echo esc_attr( $this->option ); ?>"> <input name="<?php echo esc_attr( $this->option ); ?>" id="<?php echo esc_attr( $this->option ); ?>" <?php checked( get_option( $this->option ), true ); ?> type="checkbox" value="1" /> <?php esc_html_e( 'Disable Brand for this site.', 'martfury-addons' ); ?> </label> <?php } }
💾 Save Changes
❌ Cancel