Automatically Add Page Links to Nav Menu

Turns out is_plugin_active is defined in wp-admin/includes/plugin.php so it’s only available within the admin unless I call it.

I needed to add include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); so my final code was as shown below which I also tidied up a bit too.

add_filter('wp_nav_menu_items','add_about_page_to_menu', 10, 2);
function add_about_page_to_menu( $items, $args ) {

include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
$url = home_url( 'about', 'relative' );
if( $args->theme_location == 'primary' && is_plugin_active( 'about-page-extension/about-page-extension.php' )) {
    return $items."<li><a href="https://wordpress.stackexchange.com/questions/282138/$url">About</a></li>";
}
return $items;
}