First thanks for this plugin! I’m just getting used to IndieWeb related plugins, and I think the idea has great potential. I was just about to hack the plugin for my site, but I thought it would be much nicer to help improving the original plugin instead of doing my own thing. 🙂
I discovered that the HMTL output of the function get_syndication_links is not valid, if one provides a text_before text, because an ul-element must only contain li-elements, not even text. That may result in a strange browser behaviours, as in my current theme.
I have some suggestions to improve the HTML output:
1. Replace line 238
$synlinks = '<span class="relsyn"><ul>' . $options['text_before'];with something like
$synlinks = '<span class="relsyn">' . $options['text_before'] . '<ul>';
2. A minor thing: Currently the CSS class naming convention is not very consistent (.relsyn, .u-syndication, .syn-name), so I’d suggest namespacing the classes: .syndication-links, .syndication-links-name, etc. (or if that’s too long e.g. .synlinks, .synlinks-name, etc.)
3. A minor thing: For individual styling it would help to apply a class to the ul-element (e.g. .syndication-links-list) and wrap $options[‘text_before] inside a span-element with a separate class (e.g. .syndication-links-text-before).
4. Alternative/Addition 1: Moving the HTML to a template file, which can be overridden by the theme.
5. Alternative/Addition 2: Provide a filter hook, so that one can modify the HTML output of the function get_syndication_links.
Besides that I have a feature question: Would it be possible to add an option to show the syndication links only on the full post, not the teaser on the homepage?
- The topic ‘Invalid HTML output’ is closed to new replies.