Change structure of wp_list_pages

I am using the following function in functions.php to list all the children of the current page.

function wpb_list_child_pages() { 
global $post; 

if ( is_page() && $post->post_parent )

    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0' );
else
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );

if ( $childpages ) {

    $string = '<ul>' . $childpages . '</ul>';
}

return $string;

}

add_shortcode('wpb_childpages', 'wpb_list_child_pages');

This creates a structure like this:

Read More
<ul>
    <li><a href="#">Link</a><li>
<ul>

This gives me a very small ‘hit area’ on my site. I would like the structure to be changed like so:

<a><li>Link</li></a>

Is this possible and if so how is it achieved.

Related posts