Saját plugint készítek, aminek a kimenetét egy [shortcode] hívja meg egy kiválasztott oldalra. Ennek a pluginnak saját táblái vannak az adatbázisban és ezekből kérdez le az url-ből átvett változók alapján. Azt szeretném, hogy ezeket a változókat átalakítsa permalinkké.
Pl. www.valami.hu/ez-egy-page/?sajatvaltozo-id=2 helyett ez a link lenne www.valami.hu/ez-egy-page/ez-itt-a-sajat-cim.
Jelenleg csak a $_GET-es id-t adja át, a cím az adatbázisból jön le utólag, de megoldható, hogy már elve benne legyen a linkben, így az url-ben is. Nézegettem tutorialokat, de nem nagyon tiszta ez nekem, sőt úgy tűnik azoknak sem akik írták
Szóval valaki tud egy ilyen működő permalink készítő eljárást.
Szóval napok óta próbálom megoldani ezt a problémát sikertelenül. Kb. száz hasonló tutorial után arra a következtetésre jutottam, hogy ennek jónak kellene lennie:
Code:
add_action('init', 'flush_the_rewrite_rules');
add_filter('generate_rewrite_rules', 'create_rewrite_rules');
add_filter('query_vars', 'add_query_vars');
function create_rewrite_rules() {
$variable='custom_id';
add_rewrite_rule($wordpress_root.'/'.$variable.'(/(.*))?/?$', 'index.php?pagename=$matches[1]&'.$variable.'=$matches[3]');
}
function flush_the_rewrite_rules () {
flush_rewrite_rules;
}
function add_query_vars($public_query_vars) {
$public_query_vars[] = 'custom_id';
return $public_query_vars;
}
add_filter('generate_rewrite_rules', 'create_rewrite_rules');
add_filter('query_vars', 'add_query_vars');
function create_rewrite_rules() {
$variable='custom_id';
add_rewrite_rule($wordpress_root.'/'.$variable.'(/(.*))?/?$', 'index.php?pagename=$matches[1]&'.$variable.'=$matches[3]');
}
function flush_the_rewrite_rules () {
flush_rewrite_rules;
}
function add_query_vars($public_query_vars) {
$public_query_vars[] = 'custom_id';
return $public_query_vars;
}
Nincsen hiba üzenet, a plugint újra indítottam, bekapcsolatam/kikapcsoltam a permalinkeket, de nem törtnéik változás az url-ben a saját változómnál.
Esetleg valaki rá lát erre?