how to remove link from main menu in wordpress

I want to remove link from menu in perticular page.

function wp_list_pages($args = '') {
$defaults = array(
    'depth' => 0, 'show_date' => '',
    'date_format' => get_option('date_format'),
    'child_of' => 0, 'exclude' => '',
    'title_li' => __('Pages'), 'echo' => 1,
    'authors' => '', 'sort_column' => 'menu_order, post_title',
    'link_before' => '', 'link_after' => '', 'walker' => '',
);

$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );

$output = '';
$current_page = 0;

// sanitize, mostly to keep spaces out
$r['exclude'] = preg_replace('/[^0-9,]/', '', $r['exclude']);

// Allow plugins to filter an array of excluded pages (but don't put a nullstring into the array)
$exclude_array = ( $r['exclude'] ) ? explode(',', $r['exclude']) : array();
$r['exclude'] = implode( ',', apply_filters('wp_list_pages_excludes', $exclude_array) );

// Query pages.
$r['hierarchical'] = 0;
$pages = get_pages($r);

if ( !empty($pages) ) {
    if ( $r['title_li'] )
        $output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';

    global $wp_query;
    if ( is_page() || is_attachment() || $wp_query->is_posts_page )
        $current_page = $wp_query->get_queried_object_id();
    $output .= walk_page_tree($pages, $r['depth'], $current_page, $r);

    if ( $r['title_li'] )
        $output .= '</ul></li>';
}

$output = apply_filters('wp_list_pages', $output, $r);

if ( $r['echo'] )
    echo $output;
else
    return $output;

}

Read More

Please tell me what I can do. I have searched all the previous questions concerned about this but was not able to fix the problem yet. Thanks in advance .

Related posts

Leave a Reply

1 comment

  1. Just place this in your theme’s functions.php file.

    function removeParentLinks() {
    $pages = wp_list_pages('echo=0&amp;title_li=');
    $pages = explode("</li>", $pages);
    $count = 0;
    foreach($pages as $page) {
        if(strstr($page,"<ul>")) {
            $page = explode('<ul>', $page);
            $page[0] = str_replace('</a>','',$page[0]);
            $page[0] = preg_replace('/<a(.*)>/','',$page[0]);
            if(count($page) == 3) {
                $page[1] = str_replace('</a>','',$page[1]);
                $page[1] = preg_replace('/<a(.*)>/','',$page[1]);
            }
            $page = implode('<ul>', $page);
        }
        $pages[$count] = $page;
        $count++;
    }
    $pages = implode('</li>',$pages);
    echo $pages;
    

    }

    Now just replace your wp_list_pages(); function with removeParentLinks(); and away you go.