Un utente ha chiesto informazioni su Fixing WordPress di Wordpress

Utilizza un URL per generare una pagina dinamica

Un utente ha chiesto 👇

Ciao, spero di poter descrivere quello che voglio fare …

Ho una cartella di file HTML salvati sotto il mio child theme, ciascuno con un ID animale nel nome, ad esempio:
A123.html
A456.html

Questo HTML mostra informazioni specifiche per quell’animale, come nome, specie, età, ecc.

Voglio configurare WordPress per visualizzare il contenuto A123.html all’interno di una pagina o di un modello, quando qualcuno visita l’URL mysite.com/animal/A123, come un collegamento che utilizza una funzione PHP leggibile (“A123.html”).

Tuttavia, non riesco a capire come funzionerà questo schema URL. L’ho trovato funzionante utilizzando mysite.com/animal?id=A123 e quindi catturando l’ID con $ _GET[‘id’] ma voglio che qualcuno sia in grado di utilizzare l’URL più gestibile mysite.com/animal/A123

Questo elenco di animali e file HTML cambia costantemente, ogni ora, quindi non è possibile aggiungerli manualmente come una pagina separata.

Spero che la mia domanda sia chiara. Grazie per qualsiasi aiuto.

Lanciatore di thread

(@kirska)

2 anni, 3 mesi fa

L’ho capito
https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

function dpa_shelterluv_rewrite_rule()
{
	add_rewrite_rule(
		'^animal/DPA-A-([^/]*)/?',
		'index.php?page_id=30&animalId=$matches[1]',
		'top'
	);
}
add_action('init', 'dpa_shelterluv_rewrite_rule', 10, 0);

function dpa_shelterluv_rewrite_tag() {
	add_rewrite_tag('%animalId%', '([^&]+)');
}
add_action('init', 'dpa_shelterluv_rewrite_tag', 10, 0);

function shelterluv_animal_profile() {
	ob_start();

	global $wp_query;
	if($wp_query->query_vars['animalId'] != "") {
		$animalId = $wp_query->query_vars['animalId'];
		$filename = "wp-content/themes/Divi-DPA/" . $animalId . ".html";
		readfile($filename);
	}
	else
	    echo "no id";

	return ob_get_clean();
}

Was this helpful?

0 / 0

Lascia un commento 0

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