HEX
Server: Apache/2.4.65 (Debian)
System: Linux kubikelcreative 5.10.0-35-amd64 #1 SMP Debian 5.10.237-1 (2025-05-19) x86_64
User: www-data (33)
PHP: 8.4.13
Disabled: NONE
Upload Files
File: /var/www/Gosurya/WP2/wp-content/themes/my-listing/includes/shortcodes/categories.php
<?php

namespace MyListing\Shortcodes;

if ( ! defined('ABSPATH') ) {
	exit;
}

class Categories {

	public
		$name = '27-categories',
		$title = '',
		$description = '',
	    $content = null,
	    $attributes = [
		    'skin' => 'transparent',
		    'ids' => [],
			'align' => 'center',
	    ];

	public function __construct() {
		$this->title = __( 'Listing Categories', 'my-listing' );
		$this->description = __( 'A list of categories widget suited for featured sections.', 'my-listing' );

		add_shortcode($this->name, [$this, 'add_shortcode']);
	}

	public function add_shortcode( $atts, $content = null ) {
		ob_start();

		c27()->get_partial('categories', shortcode_atts( $this->attributes, $atts ));

		return ob_get_clean();
	}

	public function output_options() {
		$categories = c27()->get_terms_dropdown_array( [
			'taxonomy' => 'job_listing_category',
			'hide_empty' => false,
		] ); ?>
		<div class="form-group">
			<label><?php _e( 'Skin', 'my-listing' ) ?></label>
			<select v-model="shortcode.attributes.skin">
				<option value="default"><?php _e( 'Default', 'my-listing' ) ?></option>
				<option value="transparent"><?php _e( 'transparent', 'my-listing' ) ?></option>
			</select>
		</div>

		<div class="form-group">
			<label><?php _e( 'Categories to show', 'my-listing' ) ?></label>
			<select v-model="shortcode.attributes.ids" multiple="multiple">
				<?php foreach ($categories as $id => $name): ?>
					<option value="<?php echo esc_attr( $id ) ?>"><?php echo esc_html( $name ) ?></option>
				<?php endforeach ?>
			</select>
		</div>

		<div class="form-group">
			<label><?php _e( 'Align', 'my-listing' ) ?></label>
			<select v-model="shortcode.attributes.align">
				<option value="left"><?php _e( 'Left', 'my-listing' ) ?></option>
				<option value="center"><?php _e( 'Center', 'my-listing' ) ?></option>
				<option value="right"><?php _e( 'Right', 'my-listing' ) ?></option>
			</select>
		</div>
	<?php }
}