WordPress.org

Make WordPress Core

Opened 15 years ago

Closed 14 years ago

#4190 closed enhancement (wontfix)

wp-content should only be user content

Reported by: cwiltgen Owned by:
Milestone: Priority: low
Severity: normal Version:
Component: Administration Keywords:
Focuses: Cc:

Description

Directories that users and creatives need access to most (plugins, themes) are two- and three-levels-removed from WP's root folder.

Additionally, WP directories currently mix system and user content, making it more difficult to upgrade than it should be.

The solution is User Folders. User folders live in WP's root directory, starting with User Plug-Ins and User Themes.

When a plug-in or theme exists in both folders, the item in User Folders takes precedence. That will allow WP to ship with plug-ins, but still allow users to upgrade the plug-in or use a preferred version without touching system folders.

The old locations (wp-content/plugins and wp-content/themes) shall continue to exist as system folders. The recommendation is that users move all of their plug-ins and themes into User Folders, and it may be useful to enforce this by 3.0.

Paths to User Folders shall not be configurable.

Change History (11)

#1 @rob1n
15 years ago

See #4039.

The problem I have is that they "shall not be configurable." This is a bit undue, no? Might as well have system folders only. And content isn't really interspersed. wp-content is all user-generated stuff (apart from the default and classic themes), and that's the part that shouldn't be touched in an upgrade.

#2 @johnbillion
15 years ago

WordPress doesn't mix system and user content at all. All user content is in wp-content and its sub-folders. When upgrading, only the wp-content folder needs to be backed up, with the exception of wp-config.php and .htaccess, the latter of which cannot be placed anywhere else anyway.

#3 @Nazgul
15 years ago

Imagine this:

Somebody discovers a serious security flaw in one of the default themes or plugins. We fix it and release a new version.

But when people upgrade, they don't update their wp-content folder. Therefore they're still vulnerable.

#4 follow-up: @Otto42
15 years ago

Suggestion:

Keep wp-content as it is, but move anything that comes with the default distribution (default/classic themes, akismet, any future plugins/themes) into wp-includes/system-content (or some better name). We keep the plugins/themes directories and the index.php to prevent viewing of the directories and such, but move all the actual files that do anything over into wp-includes.

Then change the theme and plugin loading code to check both places but to prefer the user directories.

This changes WP such that everything in wp-content is user generated content, period. Eliminates the current inconsistency by having some default stuff in there as well.

#5 @foolswisdom
15 years ago

  • Summary changed from Improve directory stucture for WP users to wp-content should only be user content

#6 @war59312
14 years ago

vote +1

#7 in reply to: ↑ 4 ; follow-up: @spencerp
14 years ago

Replying to Otto42:

Suggestion:

Keep wp-content as it is, but move anything that comes with the default distribution (default/classic themes, akismet, any future plugins/themes) into wp-includes/system-content (or some better name). We keep the plugins/themes directories and the index.php to prevent viewing of the directories and such, but move all the actual files that do anything over into wp-includes.

Then change the theme and plugin loading code to check both places but to prefer the user directories.

This changes WP such that everything in wp-content is user generated content, period. Eliminates the current inconsistency by having some default stuff in there as well.

I agree with this idea. +1 from me. But, why not just make another directory in the root called "wp-system-content" and change current one to "wp-user-content"? Then just change the upgrade procedures/instructions to say, delete all folders BUT the "wp-user-content" folder, .htaccess, wp-config.php, and any special files that reside in the root?

#8 in reply to: ↑ 7 @spencerp
14 years ago

Replying to spencerp:

I agree with this idea. +1 from me. But, why not just make another directory in the root called "wp-system-content" and change current one to "wp-user-content"? Then just change the upgrade procedures/instructions to say, delete all folders BUT the "wp-user-content" folder, .htaccess, wp-config.php, and any special files that reside in the root?

Oh, and of course upload all the newer up-to-date WordPress stuff (during upgrading) to replace those that were deleted. I didn't want to go into full-blown details on that part LOL!

#9 @thee17
14 years ago

  • Milestone changed from 2.5 to 2.6
  • Priority changed from normal to low

#10 @chaoticmortalcom
14 years ago

-1 from me. I don't like this idea at all.

In case you guys don't know, a lot of people use customized versions of Kubrick and Classic. Your doing-so will confuse a lot of people.

Can't you just show a message that this and that needs to be changed inside the wp-content folder during download?

#11 @lloydbudd
14 years ago

  • Milestone 2.6 deleted
  • Resolution set to wontfix
  • Status changed from new to closed

Closing as wontfix for now.

Note: See TracTickets for help on using tickets.