WordPress.org

Make WordPress Core

Opened 8 years ago

Closed 6 years ago

Last modified 6 years ago

#9015 closed task (blessed) (fixed)

New theme for 3.0 -- Twenty Ten

Reported by: dd32 Owned by:
Milestone: 3.0 Priority: normal
Severity: normal Version:
Component: Themes Keywords:
Focuses: Cc:

Description

Spurred on by the discussion of Sandbox coming up again on wp-hackers, Its lead me to think about the themes issue.

Currently, The bundled themes are not exactly the simplest to modify, Well, They are, But they either end up with dodgy results, Similar looking, Or just plain ugly.. This leads many users to attempt to find another theme to use, and customize, This is all good, But there are a few problems with the majority of themes:

  • Complex HTML Structure
  • Complex CSS Hacks
  • Backwards compatible
  • Use code from older WordPress versions (ie. I picked up a theme a few days ago, Which used things deprecated in 2.2, yet required 2.7 functionality)
  • Just plain ugly code

So, What i'm proposing, Is that instead of including a current generation base them such as Sandbox (Or the many others that escape my mind right now)
Is that the WordPress Project aims to create a new theme, Which is Simple, Stylish, Clean code, Uses the latest features, And most importantly, Is easy for new developers to customise to their own requirements. At first, This probably sounds like yet another sandbox, But the idea behind it, Is to provide a platform which people can base their work from, Full well knowing that it uses the latest practices, Explains what its doing, and how its doing it, A Community effort, Not a single person (Or a small group of people)'s opinions on how to do it.

Kubrick isn't bad, It does look OK, and it IS a good theme, But its not the best for people to be basing their new themes off.

New theme developers (And current developers even), Need something which they can rely upon.

So a theme which:

  • Uses clean markup
  • Has a basic style included, Which is designed to be replaced.
    • The default style should be able to be used by itself, But it should be in such a way that its simple to be customised
  • Doesn't rely upon fixed width styling, or fixed background images
  • Uses limited JavaScript
  • Uses the Theme api correctly
    • comments_option() instead of 'open' == $post->comment_status
    • post_class(), etc.
  • Look good even when the user modifies the theme slightly (ie. changes widths or floats an item)
    • I realise it's impossible if they're changing it, But a simple small change should not break everything, It should be designed with the purpose of looking good whilst having its layout moved around
  • includes custom Widget examples, SIMPLE widget examples
    • Ie. Something with no control, Just a simple "This little widget Adds this theme-specific functionality, It requires no modification, just does this when inserted"
  • Uses ALL the current functionality WordPress offers

Kubrick has been around for awhile, Something new and fresh is needed now, The 2.5 and 2.7 redesigns have been great, And the code changes under the hood are rather clean, Just need to help theme developers create themes to be as great as the WordPress codebase is (Not to say that professional theme developers do not develop good themes, Professional theme creators are a minority in those who customize themes)

(I apologise if any of this has been repeated numerous times, If i'm unclear, Or contradict myself.)

Attachments (15)

9015.comments.diff (4.0 KB) - added by beaulebens 7 years ago.
Use comment_form()
twentyten-cleanup.diff (57.5 KB) - added by ptahdunbar 7 years ago.
twentyten cleanup first run
twentyten-clean-up.diff (80.5 KB) - added by ptahdunbar 7 years ago.
twentyten-styles.diff (2.2 KB) - added by ptahdunbar 7 years ago.
minor tweaks the CSS styles.
9015.attachment.diff (2.5 KB) - added by ampt 7 years ago.
Use get_post_comments_feed_link(), fix attachment and link function calls
twentyten.diff (73.2 KB) - added by ptahdunbar 7 years ago.
formatting, translations, spacing.
9015.functions_cleanup.diff (18.5 KB) - added by sivel 7 years ago.
wrap all functions in function_exists, move standalone code into an init function, function prefixing, and code cleanup
functions.php-patch.diff (6.7 KB) - added by ptahdunbar 7 years ago.
wraps the loop.php into twentyten_get_loop_template() which calls the locate_template function. wrap the title tag into a filterable function and removed cat_meow() and tag_ur_it() as their no longer used.
more-functions.php-patch.diff (3.5 KB) - added by ptahdunbar 7 years ago.
Use the API for CSS and JS, wrapped the header background image into a function
more-more-functions.php-patch.diff (21.6 KB) - added by ptahdunbar 7 years ago.
All page titles are now consistent with a new twentyten_page_title() function which is filterable. Wrapped page links into a filterable function too.
9015.get_loop.diff (10.4 KB) - added by dd32 7 years ago.
9015.functions_cleanup.2.diff (20.1 KB) - added by sivel 7 years ago.
Same as previous, except refresh patch and move $content_width into global scope
9015_minor1.patch (582 bytes) - added by hakre 7 years ago.
Comment was wrong. Fixed.
9015.coding_standards.diff (40.3 KB) - added by sivel 6 years ago.
Some massive coding standards cleanups
missing_domain.diff (4.9 KB) - added by momo360modena 6 years ago.
Missing domain translation

Download all attachments as: .zip

Change History (176)

#1 @ionfish
8 years ago

Not sure I have time to write something myself, but this would definitely be a worthwhile addition.

I don't want to blow my own trumpet unduly, but Tarski offers at least half of what you're suggesting. There are ideas in there I think are worth rolling into any theme framework to be included in WordPress, including API extensions, the ability to change the layout without changing code (this is great for non-technical people) etc. It's also up to date with regards to WP functionality; I track trunk and synchronise releases with WP core. I'm not suggesting it should be imported wholesale into WP, but that there's a lot of pretty decent code which could be appropriated by anyone wanting to take this on.

http://github.com/ionfish/tarski/

#2 @DD32
8 years ago

The problem i have with Tarski, is that its not easy for people to tinker with its code, Its got a tonne of PHP in there which many would be confused about.. I'm wanting a theme with very limited extra PHP, focusing on the Core WordPress and what it can offer, Not what a smart theme designer has thought up and decided to include.. Thats what more advanced users can do, Not the majority of people who this'd benefit

My thought of customizable is NOT user-based clicking here, clicking there, but rather at modifying the HTML/CSS/PHP, Such a theme that was point and click, would be very useless for others to extend off, simply because it'd be rather complicated already.

Simplistic all the way through is what i'm thinking of.. There exist enough themes which do lots of things out of the box, Not enough which can be used to showcase and base stuff off..

#3 @Viper007Bond
8 years ago

As I mentioned to DD32 on IRC, I am strongly in favor of this. I have no problems with Kubrick and infact I like it a lot, but for a user looking to create their own theme, Kubrick isn't a great base for a variety of reasons. Tons of people use it as a base anyway though for their unique looking themes and we should help them avoid doing that.

Bundling a "want to make your own theme? then check this one out" theme with WordPress would greatly assist users new to WordPress in both how it should be done and so forth.

I have been looking for WordPress tickets to take on lately and while I have absolutely no eye for design, I do have a ton of experience when it comes to the coding of themes. So sign me up for this if it gets the go ahead and if any designers (Matt Thomas perhaps?) want to knock out the HTML/CSS. I'd be happy to do the rest.

#4 @ionfish
8 years ago

DD32: those are definitely valid points. I suppose I was also thinking about things like CSRF-protected login/out links, SSL-admin compatible links, which many themes don't include, but Tarski does. I certainly wasn't advocating rolling something as complex as Tarski into WP wholesale (it's over 6000 LOC, which is not exactly lightweight).

This would also be a good venue to think about new API hooks which could help theme authors provide a common framework that plugins, child themes etc. could use to extend themes without needing to chop up the theme code. I did this while ago and it's great to be able to tell people not to hack the core code but to write a small plugin instead.

#5 @josephscott
8 years ago

Just wanted to chime in that I think this is a good idea and support the general principle. There are a few specific customization techniques that I'd like to see when things start for firm up.

#6 follow-up: @matt
8 years ago

I'll talk to a few designers about something within this framework - thinking something relatively minimalist, impeccable typography, and clean colors that fits within the WordPress aesthetic.

#7 follow-up: @JohnMyr
8 years ago

I`d like to throw in my two cents in this discussion:

WordPress should come with a very well documented theme framework with child themes for several audiences. A blog theme, a "cms" page-centric theme, a news style theme and a photoblog child theme.

There are many great theme frameworks out there, but the default that shipes with WordPress should set a new standard in theme framework documentation, for both "experts" and novices. Better documentation than its possible for a single or three theme developers to make for free on spare time, with documentation in the codex, in wordpress.tv and maybe in a new opensource e-book as planned with WordPress.

Matt: I believe you came with some photoblog promises in your new year post...

There are so many dull, boring Kubrick blogs out there, with little or bad content making the impression that WordPress is also dull....

John Myrstad

#8 in reply to: ↑ 6 @DD32
8 years ago

Replying to matt:

thinking something relatively minimalist, impeccable typography, and clean colors that fits within the WordPress aesthetic.

Exactly, Minimal, Clean, Yet still covers all the bases, and to use the Poetry line, People can understand straight away and get straight to changing it how they want

WordPress should come with a very well documented theme framework with child themes for several audiences. A blog theme, a "cms" page-centric theme, a news style theme and a photoblog child theme.

That sounds great too, Bland base theme, Child themes which only modify a small ammount, but give the bland theme a huge facelift for a specific purpose. There are a number of specific themes around for photoblogging, or magazine, but most are rather complicated.

#9 @johnbillion
7 years ago

  • Cc johnbillion@… added

#10 @DD32
7 years ago

@Matt: Any developments?

Any more feedback from anyone?

#11 @sivel
7 years ago

  • Cc matt@… added

#12 in reply to: ↑ 7 @neovita
7 years ago

Replying to JohnMyr:

WordPress should come with a very well documented theme framework with child themes for several audiences. A blog theme, a "cms" page-centric theme, a news style theme and a photoblog child theme.

I agree. One challenge I face is the stereotype of wordpress being "just a blogging platform." I think a suite of themes is a good idea.

What is the status on this project?

#13 @DD32
7 years ago

What is the status on this project?

I'm thinking of creating a public SVN somewhere and starting to write something at this rate, Might get some more people interested/giving feedback

#14 follow-up: @ryan
7 years ago

There are all kinds of theme frameworks around. Thematic, sandbox, Carrington. Pick one and find someone to do a decent default design.

#15 in reply to: ↑ 14 @Viper007Bond
7 years ago

Replying to ryan:

There are all kinds of theme frameworks around. Thematic, sandbox, Carrington. Pick one and find someone to do a decent default design.

If we do bundle, we should fork so we have control over it. Sandbox for example hasn't been updated in quite a while and lacks all of the 2.7 stuff (comment classes, threaded comments, etc.). Not sure about the others though.

My point is using an existing framework may be a better solution than starting from scratch (I dunno), but if we do go with an existing framework we should give it a through tire kicking and tune-up.

#16 @crondeau
7 years ago

  • Cc crondeau added

Lloyd Budd sent me a link to this post yesterday... I wish I had seen this before and would have offered my help. I just launched a series of templates yesterday that address this needs. I haven't even announced it yet, but was asking Lloyd what he thought. The site is http://www.framework-templates.com.

The reason I put these together is because I'm teaching this summer to a group of Web developers who have so far learned Dreamweaver, CSS and HTML. The next part of the course was to focus on a CMS and WordPress was suggested. In order to get ready for them, I thought I would clean up the templates that I use. I too felt very frustrated with Kubric when I started and felt like minimalist templates where one can just add their design would be good to have.

I don't think that these templates are compete by any means. For example, I don't think that they support threaded comments, but maybe they would be a good starting ground? I would be happy to contribute to this if needed.

#17 @beaulebens
7 years ago

  • Cc beau@… added

#18 @Denis-de-Bernardy
7 years ago

  • Keywords needs-patch added
  • Milestone changed from 2.9 to Future Release

#19 @Denis-de-Bernardy
7 years ago

  • Keywords dev-feedback removed

#20 @ShaneF
7 years ago

  • Cc ShaneF added

#21 @caesarsgrunt
7 years ago

  • Cc caesar@… added
  • Milestone changed from Future Release to 3.0
  • Summary changed from Proposal: A new theme based around Modern WordPress which is designed to be simple, customizable, and something to base themes off to New theme for 3.0
  • Type changed from feature request to task (blessed)

#22 @caesarsgrunt
7 years ago

Sorry, I obviously meant 3.0, not 2.9....

#23 @dd32
7 years ago

  • Reporter changed from DD32 to dd32

#24 @Utkarsh
7 years ago

  • Cc admin@… added

#25 @sirzooro
7 years ago

  • Cc sirzooro added

#26 @hakre
7 years ago

Just to throw in

  • CSS reset
  • Clean Markup in accordance to what API functions return (those can be aligned while the theme is developed)
  • Propper UTF-8 support
  • Propper RTL / LTR support
  • Child theme demo for beginners
  • CSS classes, IDs only where appropriate
  • Widget support out of the box / default sidebar config on setup
  • Nested / Unnested Comments support
  • Theme should work with stylesheets switched off / Browser default stylesheets
  • HTML should validate; CSS should validate
  • Keep it simple, not stupid. That will help others to evolve based on this.
  • CSS Documented with CSSDOC.
  • Unobtrusive - should properly work w/o javascript and plugins enabled.
  • A nicer header image/color support than the current default theme. But please keep something similar in, many new users love that AFAIK.

#27 @hakre
7 years ago

Related: #11609

#29 @ptahdunbar
7 years ago

  • Cc ptahdunbar added

#31 @ryan
7 years ago

(In [13018]) Make twentyten the fallback theme. see #9015

#32 @westi
7 years ago

(In [13019]) Switch to a constant for the fallback theme. See #9015.

#33 @westi
7 years ago

[13019] hilights the fact that we need a comments-popup.php in the new theme.

#34 @jdingman
7 years ago

  • Cc jdingman added

#35 @Viper007Bond
7 years ago

Small note: per-post/page header images (sourced from a post thumbnail) are currently broken due to #12146

You can work around this by not using a named size when calling get_the_post_thumbnail() (and passing a size array instead), but that's improper.

#36 @hd-J
7 years ago

  • Cc hd-J added

#37 @ryan
7 years ago

(In [13027]) Use post_password_required(). see #9015

#38 @ryan
7 years ago

Some gettext added for #12170. Also switched some places in the comments form to use site_url() and admin_url().

#39 @ryan
7 years ago

Beau is looking at adding comment_form() and login_form() support.

#40 @ryan
7 years ago

  • Summary changed from New theme for 3.0 to New theme for 3.0 -- Twenty Ten

#41 @automattor
7 years ago

(In [13029]) Escape some attributes. Fix search form action. see #9015

@beaulebens
7 years ago

Use comment_form()

#42 @ryan
7 years ago

(In [13031]) Use comment_form(). Props beaulebens. see #9015

#43 @Gautam Gupta
7 years ago

  • Cc gautam.2011@… added
  • Keywords needs-patch removed

#44 @johnbillion
7 years ago

  • Cc johnbillion@… removed

#45 @ryan
7 years ago

All functions in functions.php need a twentyten prefix.

#46 @Viper007Bond
7 years ago

I'd be happy to volunteer to give the theme's code a through review / cleanup if no one else is already doing it.

@ptahdunbar
7 years ago

twentyten cleanup first run

#47 @ptahdunbar
7 years ago

This cleanup is functionality changes only, meaning nothing design related was affected. I ran through all the template files and make sure all strings were translatable, prefixed all functions with twentyten, fix spacing issues to be inline with coding standards, updated functions to use the current API etc. Just a lot of little things.

Also:

  • the title tag is a function: twentytwn_page_title(); (which is now filterable)
  • added automatic_feed_links(); to functions.php
  • Removed hard-coded CSS stylesheets to use wp_enqueue_styles();
  • Removed hard-coded comment reply js to use wp_print_scripts();
  • added twentyten_header_image(); for the header background image.
  • renamed twentyten_comment(); to twentyten_list_comments();

I think that's it. Round 2 will be making the theme more DRY.

#48 @ionfish
7 years ago

  • Cc ionfish@… added

#49 @ionfish
7 years ago

  • Cc ionfish@… removed

#50 follow-up: @ptahdunbar
7 years ago

Round 2:

  • changed twentyten_page_title() to twentyten_document_title()
  • twentyten_page_title is now for page titles.
  • twentyten_page_links();
  • merged twentyten_cats_meow() and twentyten_tag_ur_it() into twentyten_terms_lists(); which supports any taxonomy.

Plus a few other minor stuff. Overall, the template files are getting a lot cleaner which is nice.

#51 @ptahdunbar
7 years ago

We need a new template tag: single_tax_title();. single_cat_title and single_tag_title could use it too.

@ptahdunbar
7 years ago

minor tweaks the CSS styles.

#52 follow-up: @ptahdunbar
7 years ago

Increased the body font size to 14px so the text in the sidebar is better proportioned to the content. Added 5px margin-bottom to .widget-title and right aligned the tagline.

#53 in reply to: ↑ 50 @johnbillion
7 years ago

Replying to ptahdunbar:
Minor point: You've accidentally self-closed the <form> tag in this patch.

#54 follow-up: @johnbillion
7 years ago

Or your earlier patch rather.

#55 in reply to: ↑ 54 ; follow-up: @ptahdunbar
7 years ago

Replying to johnbillion:

Or your earlier patch rather.

Which patch are you referring to?

#56 in reply to: ↑ 55 @Utkarsh
7 years ago

Replying to ptahdunbar:

Replying to johnbillion:

Or your earlier patch rather.

Which patch are you referring to?

He might be referring to the change you made on line 1 at http://core.trac.wordpress.org/attachment/ticket/9015/twentyten-clean-up.diff

Its correct though.

#57 in reply to: ↑ 52 ; follow-up: @iammattthomas
7 years ago

Replying to ptahdunbar:

Increased the body font size to 14px so the text in the sidebar is better proportioned to the content. Added 5px margin-bottom to .widget-title and right aligned the tagline.

I recommend not making these changes to style.css for a couple of reasons:

  • The theme was designed to highlight the content, as such there's a significant contrast between the type size of the main content area and widget areas. Increasing the body font size reduces this contrast and draws attention away from the main content area.
  • The tagline is currently left-aligned with the sidebar and the site-generator label in the footer. Right-aligning it breaks this consistency with the grid.
  • Widgets currently have a consistent baseline grid, so the widgets line up well (look at the footer of http://2010dev.wordpress.com for example). Adding a bottom margin to widget titles breaks that.

I'll admit that all of these are subjective -- but that's kind of my point. :) Most of these decisions were set with the theme on which 2010 was based, Kirby, and I'm not sure there's a strong enough argument for changing them.

#58 in reply to: ↑ 57 ; follow-ups: @ptahdunbar
7 years ago

Replying to iammattthomas:

I recommend not making these changes to style.css for a couple of reasons:

Sounds valid. And I get your idea around focusing on the content, but the body font size just looks too small at 12px especially as a serif font. Anyway, I won't throw a fit over it, you're the designer :)

Style.css aside, what are your thoughts on the twentyten-clean-up.patch?

#59 in reply to: ↑ 58 @iammattthomas
7 years ago

Style.css aside, what are your thoughts on the twentyten-clean-up.patch?

Everything else looked good to me I'm just a designer and some of the PHP is still over my head, so I was going to leave that for someone more knowledgeable than me to comment. :)

#60 follow-up: @ShaneF
7 years ago

  • Cc ShaneF removed

Ok. I am not making a patch for this BUT....

in header.php there is

<link rel="profile" href="http://gmpg.org/xfn/11">

needs to be

<link rel="profile" href="http://gmpg.org/xfn/11" />

Thx. :)

#61 @ShaneF
7 years ago

  • Cc ShaneF added

#62 in reply to: ↑ 60 @iammattthomas
7 years ago

<link rel="profile" href="http://gmpg.org/xfn/11" />

Thanks, done. :)

#64 in reply to: ↑ 58 ; follow-up: @nacin
7 years ago

Replying to ptahdunbar:

Style.css aside, what are your thoughts on the twentyten-clean-up.patch?

I'm thinking that very large patches (I'm guilty of this sometimes too) in this case are difficult to follow and go stale quickly (it may be stale already).

It also makes it more difficult to see issues with the patch. For example, at one point you change || to OR, which are not interchangeable.

At least in my opinion, smaller patches would allow for better review.

#65 in reply to: ↑ 64 @ptahdunbar
7 years ago

Replying to nacin:

Replying to ptahdunbar:

Style.css aside, what are your thoughts on the twentyten-clean-up.patch?

I'm thinking that very large patches (I'm guilty of this sometimes too) in this case are difficult to follow and go stale quickly (it may be stale already).

It also makes it more difficult to see issues with the patch. For example, at one point you change || to OR, which are not interchangeable.

At least in my opinion, smaller patches would allow for better review.

It all started out with prefixing the functions with twentyten_, then I saw a lot of other little things that needed translation, then I started making small enhancements and making the code more extendable and efficient... and yeah, it was a snowball effect ;D

I figured bundling up all the changes together instead of uploading fifty million patches which are all about doing the same thing would be better. But I'd keep in mind to do smaller patches in the future. If you want, I'll start to separate the patch out into smaller ones if that helps?

@ampt
7 years ago

Use get_post_comments_feed_link(), fix attachment and link function calls

#66 follow-up: @Viper007Bond
7 years ago

ptahdunbar: group them into types. A patch for translation. A patch for prefixing. etc.

#67 in reply to: ↑ 66 @ptahdunbar
7 years ago

Replying to Viper007Bond:

ptahdunbar: group them into types. A patch for translation. A patch for prefixing. etc.

Yes sir! Patches coming up in a bit!

#68 @dd32
7 years ago

(In [13105]) Remove Direct SQL, Use new esc_html() function, Correct the case of the ID keys. See #9015

#69 @dd32
7 years ago

(In [13109]) Remove extra get_option() calls (the functions default to that), Use the Media API for attachment image HTML, Replace deprecated function use(1.2~2.9 deprecated). See #9015

#70 @dd32
7 years ago

(In [13111]) s/the_time()/get_the_date/ for dates. See #9015

#71 @dd32
7 years ago

(In [13112]) Whitespace cleanup, TwentyTen <title> standardisation & gettext. See #9015

@ptahdunbar
7 years ago

formatting, translations, spacing.

#72 @aldenta
7 years ago

  • Cc john@… added

#73 follow-up: @cnorris23
7 years ago

I don't know if this is on the Todo list, or if it just got overlooked, but the current screenshot included with 2010 is the Kirby Theme screenshot.

#74 in reply to: ↑ 73 ; follow-up: @iammattthomas
7 years ago

Replying to cnorris23:

I don't know if this is on the Todo list, or if it just got overlooked, but the current screenshot included with 2010 is the Kirby Theme screenshot.

It's on my to-do; I'm just waiting until I'm sure the design is finalized before making a screenshot. :)

#75 follow-up: @dd32
7 years ago

One thing i've noticed, Is that the Gallery and Aside styling is lacking from any archive other than the front page (year, taxonomy, search). Are there plans on adding that in?

#76 follow-up: @Denis-de-Bernardy
7 years ago

@dd32: shouldn't r13105 use esc_attr() rather than esc_html()?

#77 in reply to: ↑ 76 @dd32
7 years ago

Replying to Denis-de-Bernardy:

@dd32: shouldn't r13105 use esc_attr() rather than esc_html()?

No, Or at least not the instances of it i can see. Thats written a bit weirdly, but its basically esc_attr((..esc_html($user_data)..));

#78 @Denis-de-Bernardy
7 years ago

k... just peeking around. :-)

btw, while snooping into the twentyten files, I noticed:

<?php wp_link_pages('before=<div class="page-link">' . __( 'Pages:', 'twentyten' ) . '&after=</div>') ?>

perhaps we should change it and other such calls into the likes of:

<?php wp_link_pages(array('before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>')) ?>

or perhaps even:

<?php wp_link_pages(array(
     'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ),
     'after' => '</div>',
     )) ?>

the second suggestion would get my vote (note the trailing comma), because it makes it brain dead simple to copy/paste a line in order to add further arguments to the call.

#79 @dd32
7 years ago

btw, while snooping into the twentyten files, I noticed:

I saw a lot of those too, And will change those as well.

I'm going to try to get these patches on this ticket commited before i change them however, Its so easy to make patches stale..

#80 @dd32
7 years ago

(In [13128]) Formatting, Translations & Whitespace. Props ptahdunbar. See #9015

#81 follow-up: @dd32
7 years ago

Applied some of the patches, Its a bit hard to tell what remains.. Sorry if anyone's patch gets left out, some of the patches duplicate the changes.

I've left twentyten-styles.diff for now, iammattthomas: What are your thoughts on the style changes there? Good to go?

#82 @dd32
7 years ago

(In [13129]) Fix comment listing, Correct Indentations. See #9015

#83 @dd32
7 years ago

(In [13130]) Comments.php PHP cleanup. See #9015

#84 in reply to: ↑ 81 @iammattthomas
7 years ago

Replying to dd32:

I've left twentyten-styles.diff for now, iammattthomas: What are your thoughts on the style changes there? Good to go?

No, don't want to apply those -- they're the issues I was talking about in my <a href="http://core.trac.wordpress.org/timeline?from=2010-02-11T18%3A46%3A22Z&precision=second">comment above</a>.

#85 @iammattthomas
7 years ago

Sorry, that's what I get for not previewing. The issues with the CSS I mentioned are here: http://core.trac.wordpress.org/ticket/9015#comment:57

#86 in reply to: ↑ 75 @iammattthomas
7 years ago

Replying to dd32:

One thing i've noticed, Is that the Gallery and Aside styling is lacking from any archive other than the front page (year, taxonomy, search). Are there plans on adding that in?

I hadn't, only because I didn't know it was possible. :) I think it'd be great for consistency if the other archives kept the gallery and asides styling.

#87 follow-ups: @dd32
7 years ago

No, don't want to apply those

Cheers, I wish there was a "Stale", "Commited", "Wontfix/Invalid" status for patches on trac..

I hadn't, only because I didn't know it was possible. :) I think it'd be great for consistency if the other archives kept the gallery and asides styling.

Thanks, I just wanted to know if it was a Style-choice or not.

To implement that, theres a few options

  1. Duplicate the code throughout index.php, archive.php, search.php, author.php, tag.php & category.php
  2. Change the theme to not have the extra files, but have different headings in archive.php depending on is_author(), is_tag(), etc
  3. Change the theme to include a 'multiple-post-loop.php' file, Which solely holds the loop part which is common to all the archive types

To me, #3 is the better option, #2 is basically out as its good to show new developers it can be done that way, and #1 is Alright, it just gets tedious having to modify half a dozen files in order to make everything look the same no matter which archive type is being viewed.

Any one care to comment on that?

#88 in reply to: ↑ 87 @nacin
7 years ago

Replying to dd32:

Any one care to comment on that?

I generally use option 3, though the extra file with an include is sometimes lost on a beginning themer. Then again, so might the multiple if statements that option 2 presents. And option 1 is very unnecessary duplication of code.

#89 in reply to: ↑ 87 @iammattthomas
7 years ago

Replying to dd32:

  1. Change the theme to include a 'multiple-post-loop.php' file, Which solely holds the loop part which is common to all the archive types

I like this; I think this sounds like the option that'll make things easiest for someone customizing their theme for the first time.

#90 follow-up: @sivel
7 years ago

I'd like to see all of the functions in the functions.php wrapped in a function_exists. Child themes functions.php is included before the functions.php of the parent theme. Wrapping the functions inside of this file in a function_exists would give an easy way to override the functions just as we do with pluggable.php

Just wanted to run this by everyone for their feedback before actually getting a patch together. If we do this some of the code that lives outside of a function, might want to be wrapped into a function that is called on init or something.

Questions, comments or concerns?

#91 in reply to: ↑ 90 ; follow-up: @filosofo
7 years ago

Replying to sivel:

I'd like to see all of the functions in the functions.php wrapped in a function_exists. Child themes functions.php is included before the functions.php of the parent theme. Wrapping the functions inside of this file in a function_exists would give an easy way to override the functions just as we do with pluggable.php

Better would be to make such functions methods of a theme-specific object, and then filter the name of the class that gets instantiated. Then a child theme could extend its parent class as necessary.

#92 in reply to: ↑ 91 @sivel
7 years ago

Replying to filosofo:

Better would be to make such functions methods of a theme-specific object, and then filter the name of the class that gets instantiated. Then a child theme could extend its parent class as necessary.

I honestly think that may be a step in the wrong direction. A few of us have briefly discussed this on IRC and feel this would add an extra layer of complexity and raise the minimum bar of knowledge to override these functions. I'd rather keep it simple to give new theme developers or those developers who don't have strong PHP backgrounds the ability to easily modify and extend this theme.

Don't get me wrong though, I love the idea. And perhaps if this were not a bundled theme or a theme to give a starting point with, I would be all over it.

I'm starting on a patch to wrap all of the functions in function_exists and also renaming several of the functions to prefix with twentyten.

@sivel
7 years ago

wrap all functions in function_exists, move standalone code into an init function, function prefixing, and code cleanup

#93 @dd32
7 years ago

attachment 9015.functions_cleanup.diff added

Stale patch..

#94 @nacin
7 years ago

(In [13138]) home_url() returns a value, needs to be echoed in twentyten header and footer. See #9015

#95 @dd32
7 years ago

(In [13141]) Move the Loop into a separate file. Reduces code duplication and adds Gallery/Aside styling to all archive views. See #9015

#96 in reply to: ↑ 74 ; follow-up: @cnorris23
7 years ago

Replying to iammattthomas:

It's on my to-do; I'm just waiting until I'm sure the design is finalized before making a screenshot. :)

Fair enough. With all the code changes and tweaks going in, I knew a screenshot could be easily overlooked. :) Great job so far! It's definitely a welcome change.

@ptahdunbar
7 years ago

wraps the loop.php into twentyten_get_loop_template() which calls the locate_template function. wrap the title tag into a filterable function and removed cat_meow() and tag_ur_it() as their no longer used.

#97 in reply to: ↑ 96 @ptahdunbar
7 years ago

Replying to [ptahdunbar]:

attachment functions.php-patch.diff added

that patch also adds automatic_feed_links() in functions.php too.

#98 @dd32
7 years ago

wraps the loop.php into twentyten_get_loop_template() which calls the locate_template function.

Was just talking on #wordpress-dev about adding that as a Core function get_loop() for loop.php, loop-special.php (get_loop('special')), etc

#99 @nacin
7 years ago

(In [13144]) Use automatic_feed_links() in twentyten, see #9015

@ptahdunbar
7 years ago

Use the API for CSS and JS, wrapped the header background image into a function

@ptahdunbar
7 years ago

All page titles are now consistent with a new twentyten_page_title() function which is filterable. Wrapped page links into a filterable function too.

@dd32
7 years ago

#100 @westi
7 years ago

(In [13146]) Introduce new get_generic_template() function for themes to use to bring in pieces of template.
Use in twentyten for loop.php including. See #9015.

#101 @dd32
7 years ago

(In [13147]) Replace $authordata usage with API, Restore "Also posted in.."/"Also tagged..." on taxonomy archives, Handle Excerpts for Asides correctly on Archives. See #9015

#102 @Viper007Bond
7 years ago

Notice: Undefined property: WP_Query::$queried_object in ../wp-content/themes/twentyten/functions.php  on line 129

#103 @nacin
7 years ago

(In [13152]) Use $wp_query->get_queried_object(). Also move wp_head() to end of <head>, see #9015.

@sivel
7 years ago

Same as previous, except refresh patch and move $content_width into global scope

#104 @automattor
7 years ago

(In [13156]) Add 'themes_loaded' hook to run after parent/child themes have been included. See #9015

#105 @sivel
7 years ago

Looks like this was missed for some reason:

(In [13157]) Twentyten whitespace cleanup, Wrap functions in function_exists() call to allow child themes to override them. Props sivel. See #9015

#106 @sivel
7 years ago

With the most recent changesets we wrapped all of the functions in functions.php with function_exists. Should we also move the add_filter and add_action calls inside of the function_exists checks? That way the child theme would need to do the add_filter/action. Or should we leave them for the parent theme to handle?

Also we added a themes_loaded action that runs immediately after the themes have been included (functions.php). We need to possibly run the whole twentyten_init function there or at least the add_theme_support, since init is too late for add_theme_support.

Let me know what you think.

#107 @sivel
7 years ago

Running twentyten_init on themes_loaded like we are doing is probably fine.

#108 @nacin
7 years ago

Related #11512 (Allow themes to provide a stylesheet for use within the rich text editor) -- given that we're using editor-style.css in twentyten, I'm wondering if we should now consider auto-detecting a a css file and make it easy on theme developers.

#109 @michaelh
7 years ago

Please add a valid page template to this theme, or the forums will be slammed with the question "Where's the Template option when I'm writing a page?"

#110 @markjaquith
7 years ago

(In [13166]) revert function rename from r13129 which broke the comments form. props beaulebens. see #9015

#111 @ptahdunbar
7 years ago

I've proposed that twentyen's CSS and javascript use the wp_enqueue API, is there a reason why it hasn't gotten committed?

#112 follow-ups: @dd32
7 years ago

Some patch feedback:

more-more-functions.php-patch.diff - All page titles are now consistent with a new twentyten_page_title() function which is filterable. Wrapped page links into a filterable function too.

I dont think moving everything out of the template files and into functions is in the best interst of users, Theres nothing wrong with having template code in a template.

Use the API for CSS and JS, wrapped the header background image into a function

Hadnt seen that one, Once again, I dont think its a smart move to move things out of the header to a function. I dont have anything against using the CSS API properly.. But would prefer to leave that up to someone else, It could be a bit confusing for some.

That would also mean that the stylesheets would be included in child themes too.. Potentially, its best left in the header file again.

Please add a valid page template to this theme, or the forums will be slammed with the question "Where's the Template option when I'm writing a page?"

I agree with this, What are some -Useful- templates which we could add to the theme?

#113 in reply to: ↑ 112 @Viper007Bond
7 years ago

Replying to dd32:

I agree with this, What are some -Useful- templates which we could add to the theme?

A Page template with no sidebar perhaps? (Wider content area)

#114 in reply to: ↑ 112 ; follow-up: @michaelh
7 years ago

Replying to dd32:

I agree with this, What are some -Useful- templates which we could add to the theme?

First choice would be a page of posts (say for category 1), with working pagination, would address a question that is constantly (almost every single day) asked in the forums.

In lieu of that, a page that list authors with some profile data and their avatar would be a 2nd choice. Other choices would be a list of categories with several posts in each category using the_excerpt, or a list of pages, or even a list of links (like the default theme).

Replying to Viper007Bond:

A Page template with no sidebar perhaps? (Wider content area)

One of each example, wide no sidebar, and narrow with sidebar, would be nicest.

#115 in reply to: ↑ 114 ; follow-up: @Viper007Bond
7 years ago

Replying to michaelh:

narrow with sidebar

Isn't that what the default Page template is?

#116 in reply to: ↑ 115 @michaelh
7 years ago

Replying to Viper007Bond:

Replying to michaelh:

narrow with sidebar

Isn't that what the default Page template is?

You are correct sir.

#117 @WraithKenny
7 years ago

  • Cc WraithKenny added

#118 @iammattthomas
7 years ago

(In [13179]) Adding single-column, no sidebar page template to twentyten. See #9015

#119 @dougal
7 years ago

  • Cc dougal added

#120 @iammattthomas
7 years ago

(In [13181]) Fix meta-sep divider on gallery items in twentyten, see #9015

#121 follow-up: @hakre
7 years ago

that does not make sense to me:

#footer-widget-area #fourth {
	margin-right: 0;
}

(found in style.css)

@hakre
7 years ago

Comment was wrong. Fixed.

#122 in reply to: ↑ 121 @iammattthomas
7 years ago

Replying to hakre:

that does not make sense to me:

The footer widget areas get a right margin so there's spacing between them:

#footer-widget-area .widget-area {
	margin-right: 20px;
}

so the rightmost widget area needs margin-right:0 so it fits aligned to the right edge of the page.

#123 @dd32
7 years ago

(In [13218]) Remove Unneeded the_post/rewind_posts() calls, Add a "No posts for this archive" type message to the loop. See #9015

#124 @dd32
7 years ago

"Apologies, but no results were found for the requested Archive. Perhaps searching will help find a related post."

Thats the current text for the "No posts match this archive" case. To get to this page, Load a url such as /category/no-posts-in-this-category/ (Obviously, That category must exist first)

I fully expect someone to come up with some better wording for that message.

#125 @dd32
7 years ago

In lieu of that, a page that list authors with some profile data and their avatar would be a 2nd choice.

That sounded like a great template idea to me.

..Then i went to implement it and found that its not possible to retrieve a list of authors, or those with the capability to publish posts, without querying for every single user which exists on the blog. The result would be, that for small sites it wouldnt be a problem, but for sites with large numbers of users (Subscribers mainly) it would be a very expensive (CPU time wise) page to display.

It might be better off leaving that template out for now, and adding it when the role system gets a bit of an overhaul.

#126 @ryan
7 years ago

(In [13319]) Add a selection of headers to twentyten. see #9015

#127 @iammattthomas
7 years ago

(In [13335]) Tag editor-style support, adjust site-info font size in twentyten. See #9015

#128 @nacin
7 years ago

On activation:
"New theme activated. This theme supports widgets, please visit the widgets settings page to configure them."

We should consider expanding that message to include widgets, header, background, navigation, etc.

#129 @nacin
7 years ago

Also, I think we should move "Add New Themes" to a much lower rank on the Appearance menu. I've always found it odd that Widgets and Editor are separated from Menus, Header, and Background.

#130 @dd32
7 years ago

I'm thinking, If a post has a thumbnail, It should be shown like the Gallery icon.

I'd also like to see that loop.php file simplified slightly, The 3-if block is a bit complex for some people, Its quite possible some extra whitespace and extra comments will make it much easier for certain users..

#131 @holizz
7 years ago

  • Cc tom@… added

#132 @mrmist
7 years ago

There's an issue with the nav menu that is a problem if you have a lot of Pages. See #11817

#133 @nacin
7 years ago

(In [13441]) Introduce add_editor_style() to easily register a stylesheet for the visual editor. see #11512 see #9015

#134 @nacin
7 years ago

(In [13444]) add_editor_style(), second pass. Accept an array of stylesheets, also allow multiple calls to the function. Support child themes. See #9015 see #11512

#135 @nacin
6 years ago

(In [13469]) Escape mod_$theme option name. see #9015

#136 follow-up: @Denis-de-Bernardy
6 years ago

isn't r13469 redundant with the escaping in get_option?

#137 in reply to: ↑ 136 @nacin
6 years ago

Replying to Denis-de-Bernardy:

isn't r13469 redundant with the escaping in get_option?

For better or worse, get_option expects that the option name is already escaped. There is escaping in add_option, update_option, etc. though.

#138 @Denis-de-Bernardy
6 years ago

duh... that get_option() expects escaped data is totally nuts... opening a new ticket.

#139 follow-up: @dougal
6 years ago

Minor nit:
The twentyten_remove_gallery_css() function trashes the gallery-id information. That info could potentially be useful to plugins which want to target the galleries on a page for dynamic javascripty fun. Can we at least try to preserve that?

Getting informations about the guts of a gallery from a plugin is hard enough already (you should look at the hoops I'm jumping through in my FancyBox Gallery plugin). I have some ideas on how to improve this, but that's a separate discussion, not related to twentyten.

#140 in reply to: ↑ 139 ; follow-up: @Viper007Bond
6 years ago

Replying to dougal:

Minor nit:
The twentyten_remove_gallery_css() function trashes the gallery-id information. That info could potentially be useful to plugins which want to target the galleries on a page for dynamic javascripty fun. Can we at least try to preserve that?

Indeed, it broke my lightbox plugin. I had to recode it to use a random number instead of the gallery's ID.

However really it should be a class rather than an ID incase you include a gallery from another post into a post or make the gallery show up twice. Probably a discussion for a separate ticket though.

#141 @nacin
6 years ago

Someone named anderswc brought up on IRC that the fallback theme probably can't be so reliant on custom functions (see below).

I'd rather see us add hooks to existing functions instead of adding on our own API layer, myself. Otherwise, also, it indicates that the current API isn't good enough -- but it should be. See also #12370, ("we need a smarter version of wp_title").

Hey, I've been messing with trunk recently and I have a quick question.
I noticed that twentyten is the new default theme, which makes sense
but I created a test theme w/ no header or footer
when the index file calls get_header, the header file from twentyten is included
but it references at least one function from twentyten's functions.php file
so 1) are themes now going to be required to have header/footer/sidebar.php files and if not, 2) does that issue need to be fixed in twentyten before release?
fyi, the function in question is twentyten_the_page_number

#142 in reply to: ↑ 140 ; follow-up: @dougal
6 years ago

Replying to Viper007Bond:

Indeed, it broke my lightbox plugin. I had to recode it to use a random number instead of the gallery's ID.

However really it should be a class rather than an ID incase you include a gallery from another post into a post or make the gallery show up twice. Probably a discussion for a separate ticket though.

Not sure why (or how) you'd include the same gallery more than once in the same view... Maybe if you had a widget that expanded a gallery shortcode on the same view as a post with the same gallery. But I think that would be a pretty rare edge case.

But even if we moved the gallery-id into class, the main problem still stands: the function in question should only remove the inline style element, and leave the div declaration intact.

#143 @nacin
6 years ago

Looks like I never cross-referenced this here: #12303 includes some potential tweaks for Mobile Safari.

#144 in reply to: ↑ 142 @Viper007Bond
6 years ago

Replying to dougal:

Not sure why (or how) you'd include the same gallery more than once in the same view...

[gallery id="123"]

I've posted a gallery of screenshots on a plugin's homepage on my blog before and then included that same gallery in the release post on my blog's front page. Searching for the plugin's name would return both the post and page for example.

Heck, just inserting [gallery] twice in the content would do it (break validation) I believe.

#145 @nacin
6 years ago

(In [13552]) Remove only gallery CSS in twentyten, leaving the gallery div classes and id intact. see #9015

#146 @iammattthomas
6 years ago

(In [13558]) Add a bit of padding to form inputs in twentyten, see #9015

#147 @nacin
6 years ago

Matt, see #12483, for a suggestion using the short HTML5 declaration for charset.

I've been assigning you the owner of any tickets I see that related to Twentyten, which you can view when logged in at http://core.trac.wordpress.org/query.

@sivel
6 years ago

Some massive coding standards cleanups

#148 @sivel
6 years ago

  • Keywords has-patch added

My last patch is for some huge coding standards cleanups across all files within this theme.

#149 @nacin
6 years ago

A few widgets, including recent comments, spit out CSS into the header. Maybe we can remove those hooks and style the default widgets in Twenty Ten?

@momo360modena
6 years ago

Missing domain translation

#150 @momo360modena
6 years ago

The theme have some string without the theme domain. Fix also one hardcoded string.

#151 @momo360modena
6 years ago

  • Cc momo360modena added

#152 @iammattthomas
6 years ago

(In [13720]) Coding standards cleanup in twentyten, see #9015. Props sivel

#153 @iammattthomas
6 years ago

(In [13724]) Fix missing domain translation, see #9015. Props momo360modena.

#154 @nacin
6 years ago

(In [13757]) Add delimiter to tag listing on twentyten/single.php. see #9015

#155 @mikeschinkel
6 years ago

  • Cc mikeschinkel@… added

#156 follow-up: @ninjawr
6 years ago

Is it possible to implement this idea into 2010, or has that time come and gone? http://wordpress.org/extend/ideas/topic/proper-use-of-relalternate-for-feeds

#157 in reply to: ↑ 156 @iammattthomas
6 years ago

Replying to ninjawr:

Is it possible to implement this idea into 2010, or has that time come and gone? http://wordpress.org/extend/ideas/topic/proper-use-of-relalternate-for-feeds

Sure, a patch could still be implemented.

#158 @nacin
6 years ago

  • Resolution set to fixed
  • Status changed from new to closed

Please open new tickets for bugs and cleanups.

#159 @musarika
6 years ago

  • Keywords has-patch removed
  • Priority changed from normal to high
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Type changed from task (blessed) to defect (bug)

I have been using twentyten for a base for a new theme, it's a brilliant base for a new theme and I give it thumbs up. The only issue I have is the MENUS, it might be a glitch in wordpress 3.0 itself or something I have overlooked but in internet explorer 6, hover effects do not work at all and you can't view subpages when you hover over link. Can you please help.

#160 @nacin
6 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed
  • Type changed from defect (bug) to task (blessed)

This ticket is final, and the bug you mention isn't related to Twenty Ten. Please open new tickets for bugs and cleanups.

We're working on menus still, including IE6 support. (Though, please, don't use IE6...) This will take place in other tickets, so you don't need to open a new one.

#161 @nacin
6 years ago

  • Priority changed from high to normal
Note: See TracTickets for help on using tickets.