Un utente ha chiesto informazioni su Permalinks Customizer di Wordpress

Categoria primaria

Un utente ha chiesto 👇

È possibile utilizzare la categoria principale? Il plugin crea la categoria in ordine alfabetico, ma la principale dovrebbe avere la massima priorità. Penso che tu debba migliorarlo. Grazie! 🙂

Lanciatore di thread

(@ christianl86)

3 anni, 5 mesi fa

Ho appena sostituito il file -> frontend / class-permalinks-customizer-form.php:

// Replace %category% with the respective post category with their parent categories
		if (strpos( $replace_tag, "%category%" ) !== false ) {
			$categories = get_the_category( $post_id );
			$total_cat  = count( $categories );
			$tid = 1;
			if ( $total_cat > 0 && is_array( $categories ) ) {
				$tid = '';
				foreach ( $categories as $cat ) {
					if ( $cat->term_id < $tid || empty( $tid ) ) {
						$tid = $cat->term_id;
						$pid = '';
						if ( ! empty( $cat->parent ) ) {
							$pid = $cat->parent;
						}
					}
				}
			}
			$term_category = get_term( $tid );
			$category      = is_object( $term_category ) ? $term_category->slug : '';
			if ( ! empty( $pid ) ) {
				$parent_category = get_term( $pid );
				$category        = is_object( $parent_category ) ? $parent_category->slug . '/' . $category : '';
			}
			$replace_tag = str_replace( '%category%', $category, $replace_tag );
		}

CHUN

// Replace %category% with the respective post category with their parent categories
		if (strpos( $replace_tag, "%category%" ) !== false ) {
			$categories = get_the_category( $post_id );
			
			global $wpdb;
			$query = "SELECT * FROM <code>&quot;.$wpdb->prefix.&quot;postmeta</code> WHERE <code>post_id</code> = ".$post_id." AND <code>meta_key</code> = '_yoast_wpseo_primary_category'";
			$res = $wpdb->get_results($query);
			$tid = $res[0]->meta_value;

			$term_category = get_term( $tid );
			$category      = is_object( $term_category ) ? $term_category->slug : '';
			if ( ! empty( $pid ) ) {
				$parent_category = get_term( $pid );
				$category        = is_object( $parent_category ) ? $parent_category->slug . '/' . $category : '';
			}
			$replace_tag = str_replace( '%category%', $category, $replace_tag );
		}

E funziona, ho bisogno di sapere come rigenerare l’URL nei post creati prima di installare questo plugin … “Converti Permalink personalizzato” non funziona per me.

Autore del plugin

(@sasiddiqui)

3 anni, 4 mesi fa

Ciao @ christianl86

Grazie per aver fornito la tua soluzione. Il primo problema nel tuo codice è che non possiamo fare affidamento sul plugin Yoast. Forse nessun utente lo usa. So che Yoast è uno dei plugin più popolari e milioni di utenti ma non posso contarci.

In secondo luogo, ho provato ad abbinare la struttura delle categorie con la struttura predefinita di WordPress. Hai provato il predefinito di WordPress cosa fanno. WordPress dà la priorità alla categoria principale? Provalo e fammi sapere se WordPress dà la priorità alla categoria principale.

Grazie,
Sami

Autore del plugin

(@sasiddiqui)

3 anni, 3 mesi fa

Poiché non ho ricevuto alcuna risposta da più di un mese, contrassegno questo thread come risolto. Se qualcuno ha domande del genere, non esitare a riaprire il thread o pubblicare un nuovo thread.

Grazie,
Sami

(@unaomnia)

2 anni, 9 mesi fa

Sarebbe meglio che un filtro cambiasse% category% e NON modificasse direttamente il plugin …

Autore del plugin

(@sasiddiqui)

2 anni, 9 mesi fa

Ciao @unaomnia

Perché hai bisogno di un filtro per la categoria? Qualche motivo specifico per questo?

Grazie,
Sami

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *