Server IP : 89.26.249.46  /  Your IP : 216.73.217.75
Web Server : Apache
System : Linux a.cp.cloudlink.pt 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User : eticalga ( 1129)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/eticalga/www/files/plugins/acfml/classes/Strings/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/eticalga/www/files/plugins/acfml/classes/Strings/TaxonomyHooks.php
<?php

namespace ACFML\Strings;

use ACFML\Strings\Helper\ContentTypeLabels;

class TaxonomyHooks implements \IWPML_Backend_Action, \IWPML_Frontend_Action, \IWPML_DIC_Action {

	/**
	 * @var Factory $factory
	 */
	private $factory;

	/**
	 * @var Translator $translator
	 */
	private $translator;

	/**
	 * @param Factory    $factory
	 * @param Translator $translator
	 */
	public function __construct( Factory $factory, Translator $translator ) {
		$this->factory    = $factory;
		$this->translator = $translator;
	}

	public function add_hooks() {
		add_action( 'acf/update_taxonomy', [ $this, 'register' ] );
		add_filter( 'acf/taxonomy/registration_args', [ $this, 'translate' ], 10, 2 );
		add_action( 'acf/delete_taxonomy', [ $this, 'delete' ] );
	}

	/**
	 * @param array $taxonomyData
	 */
	public function register( $taxonomyData ) {
		$this->translator->registerTaxonomy( $taxonomyData );
	}

	/**
	 * @param  array $taxonomyArgs
	 * @param  array $taxonomyData
	 *
	 * @return array
	 */
	public function translate( $taxonomyArgs, $taxonomyData ) { // phpcs:disable WordPress.WP.I18n
		return ContentTypeLabels::translateLabels(
			$taxonomyArgs,
			$this->translator->translateTaxonomy( $taxonomyData, $taxonomyArgs ),
			[ 'description' ]
		);
	}

	/**
	 * @param array $taxonomyData
	 */
	public function delete( $taxonomyData ) {
		$this->factory->createPackage( $taxonomyData['taxonomy'], Package::TAXONOMY_PACKAGE_KIND_SLUG )->delete();
	}
}