• Resolved Rebusify

    (@rebusify)


    Hi, I’m using your plugin but here’s what I’m trying to do. When I create a page called domain.com, it’s creating the permalink domain-com (putting dash). How can I tell it to create the permalink domain.com with the dot and not the dash? Sure I can manually but when I create the page domain.com I want it to put the domain.com as the permalink. Thank you.

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Sayan Datta

    (@infosatech)

    Hi @rebusify

    Want to set .com as page extension like this: domain.com/pagename.com??

    Thanks!

    Thread Starter Rebusify

    (@rebusify)

    Yes, we create a lot of pages for domain names so we create a page domain.com but the permalink is mysite.com/domain-com/ (It has the dash). When I create the page, I want the permalink to default to domain.com and not domain-com.

    Plugin Author Sayan Datta

    (@infosatech)

    Hi @rebusify

    Go to Settings > Page Extension and then set this like this https://prntscr.com/muqmqb and save plugin settings and regenerate permalinks. Then create a page and it will show in your desired format.

    Thanks!

    Thread Starter Rebusify

    (@rebusify)

    The issue is that sometimes I create pages like domain.com, domain.net, domain.edu and so on. The permalink needs to be the same as the title. If I type thisismydomain.biz then the permalink should always be thisismydomain.biz. By your suggestion, it would put .com at the end of every one.

    Plugin Author Sayan Datta

    (@infosatech)

    Hi @rebusify

    Oh I see. Then add this snippet to the end of your theme’s functions.php file:

    remove_filter( 'sanitize_title', 'sanitize_title_with_dashes', 10 );
    add_filter( 'sanitize_title', 'cwpp_sanitize_title_with_dashes', 10, 3 );
    
    function cwpp_sanitize_title_with_dashes( $title, $raw_title = '', $context = 'display' ) {
        $title = strip_tags($title);
        // Preserve escaped octets.
        $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
        // Remove percent signs that are not part of an octet.
        $title = str_replace('%', '', $title);
        // Restore octets.
        $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);
    
        if (seems_utf8($title)) {
            if (function_exists('mb_strtolower')) {
                $title = mb_strtolower($title, 'UTF-8');
            }
            $title = utf8_uri_encode($title, 200);
        }
    
        $title = strtolower($title);
    
        if ( 'save' == $context ) {
            // Convert nbsp, ndash and mdash to hyphens
            $title = str_replace( array( '%c2%a0', '%e2%80%93', '%e2%80%94' ), '-', $title );
            // Convert nbsp, ndash and mdash HTML entities to hyphens
            $title = str_replace( array( ' ', ' ', '–', '–', '—', '—' ), '-', $title );
    
            // Strip these characters entirely
            $title = str_replace( array(
                // iexcl and iquest
                '%c2%a1', '%c2%bf',
                // angle quotes
                '%c2%ab', '%c2%bb', '%e2%80%b9', '%e2%80%ba',
                // curly quotes
                '%e2%80%98', '%e2%80%99', '%e2%80%9c', '%e2%80%9d',
                '%e2%80%9a', '%e2%80%9b', '%e2%80%9e', '%e2%80%9f',
                // copy, reg, deg, hellip and trade
                '%c2%a9', '%c2%ae', '%c2%b0', '%e2%80%a6', '%e2%84%a2',
                // acute accents
                '%c2%b4', '%cb%8a', '%cc%81', '%cd%81',
                // grave accent, macron, caron
                '%cc%80', '%cc%84', '%cc%8c',
            ), '', $title );
    
            // Convert times to x
            $title = str_replace( '%c3%97', 'x', $title );
        }
    
        $title = preg_replace('/&.+?;/', '', $title); // kill entities
    
        // WPSE-231448: Commented out this line below to stop dots being replaced by dashes.
        //$title = str_replace('.', '-', $title);
    
        // WPSE-231448: Add the dot to the list of characters NOT to be stripped.
        $title = preg_replace('/[^%a-z0-9 _\-\.]/', '', $title);
        $title = preg_replace('/\s+/', '-', $title);
        $title = preg_replace('|-+|', '-', $title);
        $title = trim($title, '-');
    
        return $title;
    }

    Hope this works. Thanks!

    Thread Starter Rebusify

    (@rebusify)

    Thanks!

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Permalinks’ is closed to new replies.