how to get permalink structure with php
The structure is stored in the option permalink_structure. Pretty permalinks are disabled if the option is empty. $structure = get_option( ‘permalink_structure’ );
The structure is stored in the option permalink_structure. Pretty permalinks are disabled if the option is empty. $structure = get_option( ‘permalink_structure’ );
You really shouldn’t need this, as you should be outputting the URLs via the API: get_tag_link, get_category_link, get_term_link. However, for the sake of answering the question, they’re stored in options: get_option( ‘tag_base’ ); get_option( ‘category_base’ );
You’re probably getting that error because WordPress doesn’t have the $wp_rewrite global loaded yet for some reason. Either something deactivated it, or you’re trying to run those functions before WordPress has a chance to load it. If you’re trying to do this in a plugin or in your theme’s functions.php file, make sure you’re inside … Read more
once up a time i did a client project where i had to have archives by first letter. thinking back i’m wondering if shouldn’t have just created a hidden taxonomy and then saved the first letter as a term in that taxonomy. anyway, here’s what i actually did: /* * Function Create Array of Letters … Read more
You can get the ID of the post you’re editing like this: //currently edited post id $cep_id = $_GET[‘post’]; //permalink get_permalink( $cep_id ); This is and can only work if your editing an existing/saved post. It won’t and can’t work on »Add New«-Pages, because the post you’re going to add isn’t saved to the database … Read more
1) Add this rewrite at the end of you function.php function add_rewrite_rules( $wp_rewrite ) { $new_rules = array( ‘YOUR_PREFIX/(.+?)/?$’ => ‘index.php?post_type=post&name=”. $wp_rewrite->preg_index(1), ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action(“generate_rewrite_rules’, ‘add_rewrite_rules’); function change_blog_links($post_link, $id=0){ $post = get_post($id); if( is_object($post) && $post->post_type == ‘post’){ return home_url(‘/YOUR_PREFIX/’. $post->post_name.”https://wordpress.stackexchange.com/”); } return $post_link; } add_filter(‘post_link’, ‘change_blog_links’, 1, 3); 2) … Read more
This is implemented in WordPress now as of 3.1. When you register your taxonomy, make sure to set rewrite hierarchical to true as well as the taxonomy itself: <?php register_taxonomy(‘genre’,array(‘book’), array( ‘hierarchical’ => true, // this makes it hierarchical in the UI ‘labels’ => $labels, ‘show_ui’ => true, ‘query_var’ => true, ‘rewrite’ => array( ‘hierarchical’ … Read more
I am not sure if this is the best solution or not, but it works: function movie_review_permalink( $url, $post, $leavename ) { $category = get_the_category($post->ID); if ( !empty($category) && $category[0]->slug == “test” ) { //change ‘test’ to your category slug $date=date_create($post->post_date); $my_date = date_format($date,”dmY”); $url= trailingslashit( home_url(“https://wordpress.stackexchange.com/”. $category[0]->slug .”https://wordpress.stackexchange.com/”. $post->post_name .’-‘. $my_date .”https://wordpress.stackexchange.com/” ) ); … Read more
I did find some solutions to the problems I had above: Red strike through in the Rewrite Analyzer plug in means that the query_var wasn’t defined before hand, so WP automagically deletes them. The other problem I had was solved here: Using %postname% tag with a Custom Permastruct creates 400 Bad Request Errors from the … Read more
In qTranslate settings in admin panel open advanced options and check the radio button for using language prefixes after domain name. I assume you have French listed in Languages settings of the plugin correct. You may expect dates shown incorrectly after that, use php date function to fix that in your particular language settings (edit … Read more