Schreiben Sie die URL für eine bestimmte benutzerdefinierte Beitragstypkategorie neu, um auf eine andere Seite zu gelangen

Ich weiß, dass diese allgemeine Frage schon früher gestellt wurde (wie hier und hier ), aber das Problem ist mit meiner begrenzten Erfahrung, ich kann nicht die Ergebnisse bekommen, die ich brauche, um den Code anderer Leute zu betrachten. Hier ist meine Frage: Was ist der beste Weg, um den Breadcrumb-Link “Explore” auf dieser Seite zu ändern: http://example.com/explore/photos/

von diesem: http://example.com/explore/explore/ zu diesem: http://example.com/explore/ ?

Ich weiß, dass dies ein bisschen ein Hack ist – aber mit meinem aktuellen Thema glaube ich, dass es der einfachste Weg wäre, Dinge so zu gestalten, wie ich es möchte.

So wie mein aktuelles Theme eingerichtet ist, habe ich einen benutzerdefinierten Post-Typ der Galerie, in den ich den Slug “explorieren” ließ (um der Menü-Hierarchie meiner Site zu entsprechen). Aber um die “Fotos” korrekt in der Hierarchie in Breadcrumbs mit dem SEO Yoast Plugin erscheinen zu lassen (von dem, was ich verstehe, das Plugin folgt nur WordPress, wenn es um Permalinks geht), musste ich eine Galerie hinzufügen Kategorie Eltern von “erkunden”. Also alles, was ich tun will, “fake” die URL von http://example.com/explore/, wenn http://example.com/explore/explore/ angezeigt wird. Im Idealfall würde dies serverseitig passieren, wenn der Breadcrumb geschrieben wird. Wenn ich den Link im Breadcrumb über den Link ziehe, wird http://example.com/explore/ angezeigt.

Solutions Collecting From Web of "Schreiben Sie die URL für eine bestimmte benutzerdefinierte Beitragstypkategorie neu, um auf eine andere Seite zu gelangen"

Ich bin also hier über diese Seite gestolpert und habe beschlossen, es noch einmal auszuprobieren. Und es hat funktioniert!

Ich war in der Lage, die Galerie benutzerdefinierte Beitragstyp ein Kind zu einer “Fotos” -Seite, die Kind zu “Explore” ist und alles erwies sich perfekt in den Breadcrumbs mit diesem Code in functions.php (angepasst “casestudy” zu meinem benutzerdefinierten Beitrag Modellname):

 //Add the meta box callback function function admin_init(){ add_meta_box("case_study_parent_id", "Case Study Parent ID", "set_case_study_parent_id", "casestudy", "normal", "low"); } add_action("admin_init", "admin_init"); //Meta box for setting the parent ID function set_case_study_parent_id() { global $post; $custom = get_post_custom($post->ID); $parent_id = $custom['parent_id'][0]; ?> 

Please specify the ID of the page or post to be a parent to this Case Study.

Leave blank for no heirarchy. Case studies will appear from the server root with no assocaited parent page or post.

< ?php // create a custom nonce for submit verification later echo ''; } // Save the meta data function save_case_study_parent_id($post_id) { global $post; // make sure data came from our meta box if (!wp_verify_nonce($_POST['parent_id_noncename'],__FILE__)) return $post_id; if(isset($_POST['parent_id']) && ($_POST['post_type'] == "casestudy")) { $data = $_POST['parent_id']; update_post_meta($post_id, 'parent_id', $data); } } add_action("save_post", "save_case_study_parent_id");