WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] Plugin Header file, tag Network:true no more used ? (11 posts)

  1. imath
    Member
    Posted 2 years ago #

    Hi,

    Sorry if i missed something in the 3.4 features, i've checked and didn't find anything about the fact that WordPress doesn't check the tag Network:true before displaying the plugins list in the /wp-admin/plugins.php page.

    In WordPress 3.3, the file /wp-admin/includes/class-wp-plugins-list-table.php used to check this tag at line 87 and unset the plugin from the list if the tag was set to 'true' :

    if ( is_multisite() && is_network_only_plugin( $plugin_file ) && !$screen->is_network ) {
    	unset( $plugins['all'][ $plugin_file] );
    }

    Now in WordPress 3.4.1, the same file doesn't check anymore this tag. But the function is_network_only_plugin doesn't seem to be deprecated, and i checked the codex the tag is still there http://codex.wordpress.org/File_Header#Plugin ?

    Thank you to confirm me the tag network is no more usable..

    Have a lovely day.

    imath.

  2. It should still be usable.

    How are you actually testing it?

  3. imath
    Member
    Posted 2 years ago #

    HI Ipstenu,

    Well, if you have a multisite config running on WP3.4.1, simply download a plugin that sets its tag to 'Network:true' for instance BuddyPress.

    In 3.3, the plugin BuddyPress was only on the network admin list of plugin, now it's on all the blog list of plugin, so a child blog can activate a network:true plugin...

    Of course, if the plugin is network activated, then it doesn't show in blogs lists, but before being activated, even if its Network tag is set to true then it shows. So i was wondering if this tag was no more usable..

    There's another easy way, you can try to search for the function is_network_only_plugin in the file that builds the plugin list : /wp-admin/includes/class-wp-plugins-list-table.php . This function is no more used since WP 3.4 :( It's a bit annoying for network plugins...

  4. imath
    Member
    Posted 2 years ago #

    If you look at line 91 to 103 of this file http://core.trac.wordpress.org/browser/tags/3.4.1/wp-admin/includes/class-wp-plugins-list-table.php the function is not called to check the network tag before returning the plugin list.

    i just made this test, if i edit the line 93 from this :
    if ( ! $screen->is_network && is_plugin_active_for_network( $plugin_file ) ) {

    to this :
    if ( (! $screen->is_network && is_plugin_active_for_network( $plugin_file ) ) || (! $screen->is_network && is_network_only_plugin( $plugin_file ) ) ) {

    then it woks again. May be it's just a bug, but as it's important for my plugins i need to know.

  5. imath
    Member
    Posted 2 years ago #

    Just in case i added a ticket..
    http://core.trac.wordpress.org/ticket/21187

    Thanks again for you reply Mika.

  6. My multisite is 3.5 (I know) so I spun up a local instance and yes, sir, you are right. Yikes, that ain't good.

  7. imath
    Member
    Posted 2 years ago #

    i wasn't sure, thanks a lot for you confirmation. I hope it will be fixed.. I was testing 1.6beta2 of BuddyPress and make everything messy by activating from a child blog...

  8. Yeah, that's really messy. I think your diff is a good rollback. They wanted to show network activated plugins in the menu again, just not have them activatable, but I think that may not work yet.

  9. imath
    Member
    Posted 2 years ago #

    I saw. Sergey added a is_multisite() check to correct my diff, this is great as i completely forgot to test on non multisite config. His diff seems to be part of next release ;)

    Thanks again for your help :)

  10. S'all good :) It'll be patched in 3.4.2 :)

  11. imath
    Member
    Posted 2 years ago #

    Great :)

Topic Closed

This topic has been closed to new replies.

About this Topic