HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
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/drakkar_site/wp-content/themes/blocksy/inc/classes/archive-title-renderer.php
<?php

namespace Blocksy;

class ArchiveTitleRenderer {
	private $has_label = false;

	public function __construct($args = []) {
		$args = wp_parse_args($args, [
			'has_label' => false
		]);

		$this->has_label = $args['has_label'];
	}

	public function render_title($title, $original_title, $prefix) {
		if (! $this->has_label) {
			return $original_title;
		}

		return blocksy_html_tag(
			'span',
			[
				'class' => 'ct-title-label'
			],
			rtrim(trim($prefix), ':')
		) . ' ' . $original_title;
	}

	public function get_the_archive_title() {
		$this->start_rendering();

		$title = get_the_archive_title();

		$this->finish_rendering();

		return $title;
	}

	private function start_rendering() {
		add_filter(
			'get_the_archive_title',
			[$this, 'render_title'],

			// Start rendering early, so that someone that alters the title
			// later will get our changes.
			1,
			3
		);
	}

	private function finish_rendering() {
		remove_filter(
			'get_the_archive_title',
			[$this, 'render_title'],

			// Start rendering early, so that someone that alters the title
			// later will get our changes.
			1,
			3
		);
	}
}