<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>RRWD studie webtoepassingen</title>
	<atom:link href="http://blog.rrwd.nl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rrwd.nl</link>
	<description>Web development: Outside the government, beyond the police</description>
	<lastBuildDate>Fri, 17 May 2013 08:05:13 +0000</lastBuildDate>
	<language>nl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.rrwd.nl' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/868acc9758b7be28f1fb3a7a4f178b6b?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>RRWD studie webtoepassingen</title>
		<link>http://blog.rrwd.nl</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.rrwd.nl/osd.xml" title="RRWD studie webtoepassingen" />
	<atom:link rel='hub' href='http://blog.rrwd.nl/?pushpress=hub'/>
		<item>
		<title>Automatisch icoontjes toevoegen aan links via CSS zonder class</title>
		<link>http://blog.rrwd.nl/2013/05/16/automatisch-icoontjes-toevoegen-aan-links-via-css/</link>
		<comments>http://blog.rrwd.nl/2013/05/16/automatisch-icoontjes-toevoegen-aan-links-via-css/#comments</comments>
		<pubDate>Thu, 16 May 2013 12:30:25 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[snippits]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=919</guid>
		<description><![CDATA[Icoontjes toevoegen aan links ziet er mooi uit en het is handig voor bezoekers die zien wat voor soort link het betreft, bijvoorbeeld een externe link, een PDF- of Word-bestand. Dit kan door de link een class met een achtergrondafbeelding mee te geven. HTML: &#60;a href="http://www.externelink.nl" class="extern"&#62;externe link&#60;/a&#62; CSS: a.extern { padding-right: 15px; background: url(images/icon-link.gif) no-repeat center right; [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=919&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-928" alt="Voorbeelden van icons" src="http://rrwd.files.wordpress.com/2013/05/icons.jpg?w=625"   />Icoontjes toevoegen aan links ziet er mooi uit en het is handig voor bezoekers die zien wat voor soort link het betreft, bijvoorbeeld een externe link, een PDF- of Word-bestand.</p>
<p>Dit kan door de link een class met een achtergrondafbeelding mee te geven.</p>
<pre>HTML:
<code>&lt;a href="http://www.externelink.nl" class="extern"&gt;externe link&lt;/a&gt;</code>

CSS:
<code>a.extern {
  padding-right: 15px;
  background: url(images/icon-link.gif) no-repeat center right;
}</code></pre>
<p>Maar het kan ook automatisch, zonder toevoeging van een class.</p>
<p>In onderstaand voorbeeld ga ik uit van de website mijnwebsite.nl. Aan alle links wordt standaard een achtergondafbeelding voor een externe link gegeven.<br />
Daarna wordt bij alle interne links (die beginnen met <code><a href="http://mijnwebsite" rel="nofollow">http://mijnwebsite</a></code> of <code><a href="http://www.mijnwebsite" rel="nofollow">http://www.mijnwebsite</a></code> of een interne link zijn) de achtergrondafbeelding verwijderd. Naar keuze kun je nu afbeeldingen toevoegen voor mail-links, of links naar PDF-, ODT, Word of bestanden met andere extensies.<br />
De padding is afhankelijk van de grootte van de achtergrondafbeelding.</p>
<pre><code>a { 
  padding-right: 15px; 
  background: url(images/icon-link.gif) no-repeat center right; 
}

a[href^="http://mijnwebsite"] { 
  padding-right: 0; 
  background: none;
}
a[href^="http://www.mijnwebsite"] { 
  padding-right: 0; 
  background: none; 
}
a[href^="#"] { 
  padding-right: 0; 
  background: none; 
}
a[href^="mailto"] { 
  padding-right: 15px; 
  background: url(images/icon-mail.gif) no-repeat center right; 
}
a[href$='.pdf'] { 
  padding-right: 15px; 
  background: url(images/icon_pdf.gif) no-repeat center right; 
}
a[href$='.PDF'] { 
  padding-right: 15px; background: url(images/icon_pdf.gif) no-repeat center right; 
}
a[href$='.doc'] { 
  padding-right: 15px; 
  background: url(images/icon_pdf.gif) no-repeat center right; 
}
a[href$='.DOC'] { 
  padding-right: 15px; 
  background: url(images/icon_pdf.gif) no-repeat center right; 
}</code></pre>
<p><span lang="en">See it in action</span> op <a href="http://iacobien.nl">iacobien.nl</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/919/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/919/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=919&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2013/05/16/automatisch-icoontjes-toevoegen-aan-links-via-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>

		<media:content url="http://rrwd.files.wordpress.com/2013/05/icons.jpg" medium="image">
			<media:title type="html">Voorbeelden van icons</media:title>
		</media:content>
	</item>
		<item>
		<title>Toegankelijke social media share buttons in WordPress</title>
		<link>http://blog.rrwd.nl/2012/06/07/toegankelijke-social-media-share-buttons-in-wordpress/</link>
		<comments>http://blog.rrwd.nl/2012/06/07/toegankelijke-social-media-share-buttons-in-wordpress/#comments</comments>
		<pubDate>Thu, 07 Jun 2012 11:55:43 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[snippits]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=866</guid>
		<description><![CDATA[Hoe voeg je toegankelijke social media buttons toe aan je post of page in WordPress als je de bezoeker je bericht of pagina wilt laten delen op bijvoorbeeld Facebook, Twitter, LinkedIn of Google+? Deze vraag kreeg ik van Winy Schalke van Alva Design. De meeste kant-en-klare buttons voor het toevoegen van Social Media buttons worden [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=866&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Hoe voeg je toegankelijke social media buttons toe aan je post of page in WordPress als je de bezoeker je bericht of pagina wilt laten delen op bijvoorbeeld Facebook, Twitter, LinkedIn of Google+? Deze vraag kreeg ik van Winy Schalke van <a href="http://www.alva-design.com/">Alva Design</a>.</p>
<p>De meeste kant-en-klare buttons voor het toevoegen van Social Media buttons worden opgebouwd in Javascript. Maar als je alle fancy stuff weghaalt en stript tot de basis blijft er eigenlijk alleen een link met variabelen over. Dit is ook te maken in alleen HTML/PHP. De link wordt dan opgebouwd via een functie in PHP.</p>
<h2>Basale opbouw van de links</h2>
<h3>Voor Facebook:</h3>
<ul>
<li>de link: http://www.facebook.com/sharer.php</li>
<li>variabelen:
<ul>
<li>t=titel</li>
<li>u=de url van de te delen pagina</li>
</ul>
</li>
</ul>
<h3>Voor Twitter</h3>
<ul>
<li>de link: http://twitter.com/share</li>
<li>variabelen:
<ul>
<li>text=titel</li>
<li>url=de url van de te delen pagina</li>
</ul>
</li>
</ul>
<h3>Voor LinkedIn</h3>
<ul>
<li>de link: http://www.linkedin.com/shareArticle?mini=true</li>
<li>variabelen:
<ul>
<li>t=titel</li>
<li>title=de url van de te delen pagina</li>
</ul>
</li>
</ul>
<h3>Voor  Google+</h3>
<ul>
<li>de link: <a href="https://plus.google.com/share?url=" rel="nofollow">https://plus.google.com/share?url=</a></li>
<li><em>LET OP: dit was eerst <em><a href="https://plusone.google.com/_/+1/confirm?hl=nl" rel="nofollow">https://plusone.google.com/_/+1/confirm?hl=nl</a></em>, maar deze link werkt niet meer. </em></li>
<li>variabelen:
<ul>
<li>url=de url van de te delen pagina</li>
</ul>
</li>
</ul>
<h2>Voorbeeldcode</h2>
<p>Een simpel voorbeeld in PHP, die je in WordPress kwijt kunt in je functions.php van je thema:</p>
<pre class="brush: xml; title: ; notranslate">
/**
 * Accessible share buttons
 * Displays 4 social media buttons with a share link beneath the post content on pages and posts, except for the homepage
 * Works inside the loop
 * Images are stored in the theme /images directory
 * Rian Rietveld rrwd.nl June 2012
 * @notes beta version 0.1
 **/

function rrwd_share_buttons( $post_content ) {
	global $post;

	// on posts and pages, except for home, comment out if necessary
	if ( is_home() || is_front_page() ) return $post_content;

	// Sanatize and urlencode title and permalink for inclusion in share links
	$share_title = sanitize_title( get_the_title() );
	$share_title = urlencode( $share_title );
	$share_permalink = get_permalink();
	$share_permalink = urlencode( $share_permalink );

	// Hidden heading, for screen readers only
	$share  = '&lt;h2 class=&quot;rrwd-share-heading&quot;&gt;Deze pagina delen&lt;/h2&gt;'.&quot;\n&quot;;

        $share .= '&lt;ul class=&quot;rrwd-share-list&quot;&gt;'.&quot;\n&quot;;

        $share .= '&lt;!--Facebook--&gt;'.&quot;\n&quot;;
        $share .= '&lt;li&gt;&lt;a href=&quot;http://www.facebook.com/sharer.php?t=' . $share_title . '&amp;amp;u=' . $share_permalink . '&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;' . get_bloginfo('stylesheet_directory') . '/images/share-facebook.png&quot; alt=&quot;Delen op Facebook&quot; class=&quot;rrwd-share-img&quot; /&gt;&lt;/a&gt;&lt;/li&gt;'.&quot;\n&quot;;

        $share .= '&lt;!--Twitter--&gt;'.&quot;\n&quot;;
$share .= '&lt;li&gt;&lt;a href=&quot;http://twitter.com/share?text=' . $share_title . '&amp;amp;url=' . $share_permalink . '&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;' . get_bloginfo('stylesheet_directory') . '/images/share-twitter.png&quot; alt=&quot;Delen op Twitter&quot; class=&quot;rrwd-share-img&quot;/&gt;&lt;/a&gt;&lt;/li&gt;'.&quot;\n&quot;;
        $share .= '&lt;!--Linkedin--&gt;'.&quot;\n&quot;;
$share .= '&lt;li&gt;&lt;a href=&quot;http://www.linkedin.com/shareArticle?mini=true&amp;amp;url=' . get_permalink() . '&amp;amp;title=' . $share_title . '&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;' . get_bloginfo('stylesheet_directory') . '/images/share-linkedin.png&quot; alt=&quot;Delen op LinkedIn&quot; class=&quot;rrwd-share-img&quot; /&gt;&lt;/a&gt;&lt;/li&gt;'.&quot;\n&quot;;
        $share .= '&lt;!--Google plus--&gt;'.&quot;\n&quot;;
$share .= '&lt;li&gt;&lt;a href=&quot;https://plus.google.com/share?url=' . get_permalink() . '&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;' . get_bloginfo('stylesheet_directory') . '/images/share-googleplus.png&quot; alt=&quot;Delen op Google+&quot; class=&quot;rrwd-share-img&quot; /&gt;&lt;/a&gt;&lt;/li&gt;'.&quot;\n&quot;;
        $share .= '&lt;/ul&gt; '.&quot;\n&quot;;
        // add buttons beneath the post content
        $post_content .= $share;

        return $post_content;

} // end function rrwd_share_buttons

add_filter('the_content', 'rrwd_share_buttons');

</pre>
<h2>CSS voor de buttons</h2>
<p>In de style.php van je thema</p>
<pre class="brush: xml; title: ; notranslate">

/*Style for accessible share buttons
------------------------------------------------------------ */
.rrwd-share-heading {
	left: -1000em;
	position: absolute;
	height: 0;
}
.rrwd-share-list {
	clear: both;
}
.rrwd-share-list li {
	float: left;
	padding: 0;
	margin-right: 10px;
}

.rrwd-share-img {
	width: 55px;
	height: 20px;
}
</pre>
<h2>De afbeeldingen</h2>
<p>Zet de bijbehorende afbeeldingen in de directory /images van je thema.</p>
<p>De namen in deze functie zijn:</p>
<ul>
<li>share-facebook.png</li>
<li>share-twitter.png</li>
<li>share-linkedin.png</li>
<li>share-googleplus.png</li>
</ul>
<p>De afbeeldingen hebben dezelfde grootte, te stylen via de class rrwd-share-img.</p>
<h2>Live demo</h2>
<p>Winy Schalke heeft de code geïmplementeerd voor pagina&#8217;s en berichten van de website van de <a href="http://www.epilepsievereniging.nl/alles-over-epilepsie/">Epilepsie Vereniging Nederland</a></p>
<h2>Plugin</h2>
<p>Ik heb er een korte plugin van gemaakt.<br />
Te downloaden op: <a href="http://www.rrwd.nl/wp-plugins/wp-accessible-social-share-buttons.zip" target="_blank" rel="nofollow">http://www.rrwd.nl/wp-plugins/wp-accessible-social-share-buttons.zip</a><br />
Als je deze upload en activeert en daarna in je functions.php van je childtheme het volgende zet zou het moeten lukken:</p>
<p>In Genesis onder de titel:</p>
<pre class="brush: plain; title: ; notranslate">add_action( 'genesis_after_post_title', 'wp_accessible_social_share_buttons' );// adds buttons below the title of a post or page</pre>
<p>Voor plaatsing onder de content:</p>
<pre class="brush: plain; title: ; notranslate">add_action('the_content', 'wp_accessible_social_share_buttons'); // adds buttons below the content of a post or page</pre>
<h2>Discussie</h2>
<p>De links in deze functie openen niet in een nieuw venster. Dit kan worden toegevoegd (zet dan in de link target=&#8221;_blank&#8221;) mits je hiervan melding maakt, zie de <a href="http://www.webrichtlijnen.nl/richtlijnen/webrichtlijnen-1/r-pd-8-14">webrichtlijnen</a> hierover.</p>
<p>Gebruik voor de <strong>&amp;</strong> om variabelen te linken een <strong>&amp;amp;</strong></p>
<h2>Documentatie</h2>
<ul>
<li>Facebook: <a href="https://developers.facebook.com/docs/share/">https://developers.facebook.com/docs/share/</a></li>
<li>Twitter: <a href="http://twitter.com/about/resources/buttons">http://twitter.com/about/resources/buttons</a></li>
<li>LinkedIn: <a href="https://developer.linkedin.com/forum/url-params-sharearticle">https://developer.linkedin.com/forum/url-params-sharearticle</a></li>
<li>Google+: <a href="https://developers.google.com/+/plugins/+1button/">https://developers.google.com/+/plugins/+1button/</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/866/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/866/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=866&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2012/06/07/toegankelijke-social-media-share-buttons-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>
	</item>
		<item>
		<title>Code snippits voor het Genesis Framework in WordPress</title>
		<link>http://blog.rrwd.nl/2012/04/25/code-snippits-voor-het-genesis-framework-in-wordpress/</link>
		<comments>http://blog.rrwd.nl/2012/04/25/code-snippits-voor-het-genesis-framework-in-wordpress/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 07:53:09 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[Genesis framework]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[snippits]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=852</guid>
		<description><![CDATA[Doctype HTML5 Pas knoppenbalk TinyMCE aan Gebruik een eigen stylesheet in TinyMCE Zo kun je elementen van het stylesheet overnemen in de editor zodat het lijkt op de weergave in de website zelf. Het bestand editor-style.css zet je dan in je (child-)theme. Verwijder layout keuzes: bijvoorbeeld Custom Favicon (in plaats van het Genesis icoontje) Bepaal [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=852&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h2>Doctype HTML5</h2>
<pre class="brush: xml; title: ; notranslate">
/** HTML5 DOCTYPE */
remove_action( 'genesis_doctype', 'genesis_do_doctype' );
add_action( 'genesis_doctype', 'child_do_doctype' );
function child_do_doctype() {
?&gt;
&lt;!DOCTYPE html&gt;
&lt;html &lt;?php language_attributes(); ?&gt;&gt;
&lt;head &gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;&lt;?php bloginfo( 'html_type' ); ?&gt;; charset=&lt;?php bloginfo( 'charset' ); ?&gt;&quot; /&gt;
&lt;?php
}
</pre>
<h2>Pas knoppenbalk TinyMCE aan</h2>
<pre class="brush: xml; title: ; notranslate">
/** Modifying TinyMCE editor to remove unused items.

http://wordpress.org/support/topic/tinymce-formatting-options-remove-h1-h1-pre/


http://wordpress.org/support/profile/buckmuck

*/
function rrwd_customformat_tinymce($init) {
// Add block format elements you want to show in dropdown
$init['theme_advanced_blockformats'] = 'p,h2,h3,pre';
$init['theme_advanced_disable'] = 'strikethrough,underline,forecolor,justifyfull';
return $init;
}
add_filter('tiny_mce_before_init', 'rrwd_customformat_tinymce' );
</pre>
<h2>Gebruik een eigen stylesheet in TinyMCE</h2>
<p>Zo kun je elementen van het stylesheet overnemen in de editor zodat het lijkt op de weergave in de website zelf. Het bestand editor-style.css zet je dan in je (child-)theme.</p>
<pre class="brush: xml; title: ; notranslate">
add_editor_style( 'editor-style.css' );
</pre>
<h2>Verwijder layout keuzes: bijvoorbeeld</h2>
<pre class="brush: xml; title: ; notranslate">
genesis_unregister_layout( 'content-sidebar' );
genesis_unregister_layout( 'content-sidebar-sidebar' );
genesis_unregister_layout( 'sidebar-sidebar-content' );
genesis_unregister_layout( 'sidebar-content-sidebar' );
genesis_unregister_layout( 'full-width-content' );
</pre>
<h2>Custom Favicon (in plaats van het Genesis icoontje)</h2>
<pre class="brush: xml; title: ; notranslate">
/** Custom Favicon
The favicon is stored in the theme/images directory and is called favicon.ico by default*/
remove_action('genesis_meta', 'genesis_load_favicon');
function rrwd_custom_favicon() {
echo &quot;&lt;link rel='shortcut icon' href='&quot;.get_stylesheet_directory_uri().&quot;/images/favicon.ico' /&gt;\n&quot;;
}
add_action('wp_head', 'rrwd_custom_favicon');
</pre>
<h2>Bepaal het aantal sidebars in de footer</h2>
<pre class="brush: xml; title: ; notranslate">/** Add support for 1-column footer widgets */
add_theme_support( 'genesis-footer-widgets', 1 );</pre>
<h2>Pas de copyright regel aan in de footer</h2>
<pre class="brush: xml; title: ; notranslate">
/** Customize the credits */
add_filter('genesis_footer_creds_text', 'custom_footer_creds_text');
function custom_footer_creds_text() {
 echo '&lt;div class=&quot;creds&quot;&gt;&lt;p&gt;';
 echo 'Copyright &amp;copy; ';
 echo date('Y');
 echo ' &amp;middot; Claudia Hulshof, Sustainable Style';
 echo '&lt;/p&gt;&lt;/div&gt;';
}
</pre>
<h2>Verwijder de hele footer</h2>
<pre class="brush: xml; title: ; notranslate">/** Customize the entire footer */
remove_action( 'genesis_footer', 'genesis_do_footer' );</pre>
<h2>Verwijder de (bewerken) link op de website zelf als een gebruiker is ingelogd.</h2>
<pre class="brush: xml; title: ; notranslate">
/** Remove the edit linkon the front end */
add_filter ( 'genesis_edit_post_link' , '__return_false' );</pre>
<h2>Meer op:</h2>
<ul>
<li>billerickson.net: <a href="http://www.billerickson.net/genesis-quick-tips/">http://www.billerickson.net/genesis-quick-tips/</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/852/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=852&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2012/04/25/code-snippits-voor-het-genesis-framework-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>
	</item>
		<item>
		<title>How accessible is the WordPress CMS for a blind content manager</title>
		<link>http://blog.rrwd.nl/2012/03/23/how-accessible-is-the-wordpress-cms-for-a-blind-content-manager/</link>
		<comments>http://blog.rrwd.nl/2012/03/23/how-accessible-is-the-wordpress-cms-for-a-blind-content-manager/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 10:37:22 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Toegankelijkheid]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=799</guid>
		<description><![CDATA[As we take great effort to make the front-end of WordPress accessible, the next challenge will be to make an equally accessible CMS. In order to get an impression on this challenge awaiting us I have started a study, together with Jaap van de Putte on how accessible the current CMS of WordPress really is. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=799&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>As we take great effort to make the front-end of WordPress accessible, the next challenge will be to make an equally accessible CMS. In order to get an impression on this challenge awaiting us I have started a study, together with <a title="External link to 2useit.nl" href="http://www.2useit.nl/">Jaap van de Putte</a> on how accessible the current CMS of WordPress really is.</p>
<p>A few questions immediately come to mind. During the last couple of years the CMS of WordPress has become more and more dependent on Ajax with lightbox overlays. How do these function for a blind content manager using a screenreader? Can she/he grasp the complexity of the CSM? Is the generated HTML semantically correct and easy to understand?</p>
<p>In my experience as WordPress trainer I have found that the CMS is getting harder to understand for inexperienced content managers. So many options and possibilities. How does this work, if you look thought the CMS pages sequencially, without a quick overview that the graphics provide?</p>
<p>What better way to find out, then to visit a experienced vision-impaired user of computers and screen readers that never ever saw a CMS in his life. Actually, this is not that much unlike most of my seeing clients who want a website and a CMS.</p>
<p>For this I visited <a title="External link to the Linkedin profile of Leo Dijk" href="http://www.linkedin.com/pub/leo-dijk/17/a49/56b">Leo Dijk</a>, who works as a legal advisor at the Dutch Ministry of Education, Culture and Science in The Hague. He was kind enough to give me a morning of his time to try out the current CMS of WordPress.</p>
<h2>Used software</h2>
<p>At this moment there are two major screenreaders: <a title="External link to yourdolphin.com" href="http://www.yourdolphin.com/productdetail.asp?id=5">SuperNova</a> by Dolphin and <a title="Extrenal link to freedomscientific.com" href="http://www.freedomscientific.com/products/fs/jaws-product-page.asp">Jaws</a> by Freedom Scientific. Leo uses Explorer 8 with the SuperNova Screenreader version 11.58 on Windows, together with a braille terminal, a standard keyboard and a headphone. This is neither the latest version of Explorer nor the latest version SuperNova, but it is a common configuration for most blind people, especially as updates of SuperNova are expensive. This version of SuperNova doesn&#8217;t work well with Explorer 9, nor with Firefox, nor with Chrome. Javascript is executed, however.</p>
<h2>WordPress test environment</h2>
<p>In my test account I installed <a title="External link to the Dutch WordPress site" href="http://nl.wordpress.org/">Dutch version</a> of <a title="External link to WordPress version 3.3.1" href="http://codex.wordpress.org/Version_3.3.1">WordPress 3.3.1</a> with the <a title="External link to studiopress.com" href="http://www.studiopress.com/">StudioPress</a> Genesis Framework with one extra plugin: <a title="External link to WordPress plugin page" href="http://remkusdevries.com/plugins/genesis-translations/">Genesis Translations</a> by Remkus de Vries. All settings and options out of the box. To get started some dummy content and a primary menu was added.</p>
<h2>Front end experience</h2>
<p>For reading the content and structure the front end was good. Tab order was logical and Leo gave StudioPress a compliment about how well the search widget was setup. There where however two important remarks:</p>
<ol>
<li>Widget titles in Genesis by default have the H4 HTML tag. The content will contain mainly H1 and H2 levels, so an H4 skips the H3 level. This makes the structure of the information less accessible. A H2 for the widget title would be better.</li>
<li>In WordPress images <em>default</em> link to their own image when inserted into content. So, if clicked, the visible window will only contain a single image, and the site only can be recovered by using the back button. A normally sighted visitor can see what is happening and solve it intuitively. But, with a screen reader it is not so obvious. Leo couldn&#8217;t interpret what happened and concluded it was a broken link, because neither the title nor the alt tag of the images told him he was clicking a link to an image.</li>
</ol>
<h2>CMS</h2>
<p>For normally sighted and visually impaired content managers, the first impression of the CMS is confusing. Much info, what does the jargon mean. As for everybody else an explanation was needed about the difference between a post and a page, the menu-item links, etc.</p>
<h3>Tab en item order</h3>
<p>With a screen reader, the page is read from top to bottom. The tab key is used to skip from item to item. An easy way to see what the resulting page order is like, is to disable the CSS.</p>
<div id="attachment_828" class="wp-caption alignright" style="width: 271px"><img class="size-medium wp-image-828" title="WordPress menu with stylesheet disabled" src="http://rrwd.files.wordpress.com/2012/03/menu.png?w=261&#038;h=300" alt="WordPress menu with stylesheet disabled" width="261" height="300" /><p class="wp-caption-text">WordPress menu with stylesheet disabled</p></div>
<p>The semantics of the HTML for adding a post</p>
<ul>
<li>Main Menu (for the Genesis theme there is an extra link with only the image)</li>
<li>Adjust screen, help e.g.</li>
<li>Title of the action</li>
<li><span style="color:#800000;">Publish options</span></li>
<li>Categories</li>
<li>Tags</li>
<li>Features image</li>
<li><span style="color:#800000;">Input title</span></li>
<li><span style="color:#800000;">Input content</span></li>
<li>Theme SEO (Genesis theme)</li>
<li>Layout (Genesis theme)</li>
<li>Excerpt</li>
<li>Trackbacks</li>
<li>Custom fields</li>
<li>Comments</li>
<li>Slug Author</li>
</ul>
<h3>Menu</h3>
<p>A problem for the screenreader user is that the reader could not determine the structure of the list items. What is a main menu item and what a subitem? The reason is that the subitems are placed into separate div&#8217;s and not directly into tags relating to their list.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;li class=&quot;wp-has-submenu wp-not-current-submenu menu-top menu-icon-users&quot; id=&quot;menu-users&quot;&gt;
 &lt;div class='wp-menu-image'&gt;&lt;a href='users.php'&gt;&lt;br /&gt;
 &lt;/a&gt;&lt;/div&gt;
 &lt;div class=&quot;wp-menu-arrow&quot;&gt;
 &lt;div&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;a href='users.php' class=&quot;wp-has-submenu wp-not-current-submenu menu-top menu-icon-users&quot; tabindex=&quot;1&quot; aria-haspopup=&quot;true&quot;&gt;Gebruikers&lt;/a&gt;
 &lt;div class='wp-submenu'&gt;
 &lt;div class='wp-submenu-wrap'&gt;
 &lt;div class='wp-submenu-head'&gt;Gebruikers&lt;/div&gt;
 &lt;ul&gt;
 &lt;li class=&quot;wp-first-item&quot;&gt;&lt;a href='users.php' class=&quot;wp-first-item&quot; tabindex=&quot;1&quot;&gt;Alle gebruikers&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href='user-new.php' tabindex=&quot;1&quot;&gt;Nieuwe toevoegen&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href='profile.php' tabindex=&quot;1&quot;&gt;Je profiel&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/div&gt;
 &lt;/div&gt;
&lt;/li&gt;
</pre>
<h3>Finding the title input field</h3>
<p>The label of the title is placed inside the input field for the title with CSS and Javascript. Hidden without Javascript and with a default style of  visibility:hidden. In practice this means that with a screenreader the label is completely ommited.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;titlewrap&quot;&gt;
&lt;label class=&quot;hide-if-no-js&quot;  style=&quot;visibility:hidden&quot; id=&quot;title-prompt-text&quot; for=&quot;title&quot;&gt;Voer hier de titel in&lt;/label&gt;
&lt;input type=&quot;text&quot; name=&quot;post_title&quot; size=&quot;30&quot; tabindex=&quot;1&quot; value=&quot;&quot; id=&quot;title&quot; autocomplete=&quot;off&quot; /&gt;
&lt;/div&gt;
</pre>
<h3>Finding the content textarea</h3>
<p>Using the WYSIWYG editor is obviously impossible. Selecting some text and changing it into a heading for instance is a task that cannot be done with a screen reader. Therefore the default setting must be to use the HTML editor or an editor that uses shortcodes for text markup.</p>
<p>The content text-area also lacks a label and can only be found by searching for the text &#8220;uploaden/toevoegen&#8221;  (Upload/Add) which is just above the input area.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;wp-content-wrap&quot;&gt;&lt;link rel='stylesheet' id='editor-buttons-css'  href='http://rrwd-demo.nl/wp-includes/css/editor-buttons.css?ver=20111114' type='text/css' media='all' /&gt;
&lt;div id=&quot;wp-content-editor-tools&quot;&gt;&lt;a id=&quot;content-html&quot; onclick=&quot;switchEditors.switchto(this);&quot;&gt;HTML&lt;/a&gt;
&lt;a id=&quot;content-tmce&quot; onclick=&quot;switchEditors.switchto(this);&quot;&gt;Wysiwyg&lt;/a&gt;
&lt;div id=&quot;wp-content-media-buttons&quot;&gt;&lt;a href=&quot;http://rrwd-demo.nl/wp-admin/media-upload.php?post_id=715&amp;TB_iframe=1&quot; id=&quot;content-add_media&quot; title=&quot;Media toevoegen&quot; onclick=&quot;return false;&quot;&gt;Uploaden/Toevoegen &lt;img src=&quot;http://rrwd-demo.nl/wp-admin/images/media-button.png?ver=20111005&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;wp-content-editor-container&quot;&gt;&lt;textarea rows=&quot;20&quot; tabindex=&quot;1&quot; cols=&quot;40&quot; name=&quot;content&quot; id=&quot;content&quot;&gt;&lt;/textarea&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<h3>Popup overlay&#8217;s</h3>
<p>Adding links, inserting images, choosing colours, all work with through pop-ups that break out of the normal flow of the HTML and are not recognised as a popup in a screenreader, they are simply ignored.</p>
<h3>Adding media</h3>
<p>Inline addition of media with the upload/add option is impossible for a screenreader. But it can be achieved manually, using the menu-item &#8216;media&#8217; first for uploading images and document and subsequently adding them later via the HTML code.</p>
<h2>Conclusion and recommendations</h2>
<h3>The main issues are:</h3>
<ul>
<li>The input field for the title and the content are currently unrecognizable, they need a label and not just one inside the inputfield</li>
<li>The content manager will need to know HTML, since the buttons for the HTML markup don&#8217;t work in a screenreader.</li>
<li>The semantics of the HTML produced can be improved.</li>
</ul>
<h3>How to make life easier for a blind content manager:</h3>
<ul>
<li>Change the HTML into a more semantic order like
<ul>
<li>the main menu</li>
<li>input for the title</li>
<li>input for the content</li>
<li>publish options</li>
<li>the sidebar with the extra options</li>
<li>the help and adjust screen options</li>
</ul>
</li>
<li>Add a label to the title and content input</li>
<li>Find a decent shortcode editor te replace the WYSIWYG, plugin suggestions are welcome.</li>
</ul>
<h2>Next step</h2>
<p>This test was done using SuperNova by Dolphin. We will look into how Jaws performs in another session.<br />
More idea&#8217;s, input, comments and suggestions for e.g. plugins are very welcome.</p>
<h2>Thanks</h2>
<p>A big thanks to Leo Dijk, for his detemination, patience and enthousiasm.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/799/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/799/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=799&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2012/03/23/how-accessible-is-the-wordpress-cms-for-a-blind-content-manager/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>

		<media:content url="http://rrwd.files.wordpress.com/2012/03/menu.png?w=261" medium="image">
			<media:title type="html">WordPress menu with stylesheet disabled</media:title>
		</media:content>
	</item>
		<item>
		<title>Wat doe je aan :  Allowed memory size of xxx bytes exhausted bij WordPress</title>
		<link>http://blog.rrwd.nl/2011/11/18/wat-doe-je-aan-allowed-memory-size-of-xxx-bytes-exhausted-bij-wordpress/</link>
		<comments>http://blog.rrwd.nl/2011/11/18/wat-doe-je-aan-allowed-memory-size-of-xxx-bytes-exhausted-bij-wordpress/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 13:00:35 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=784</guid>
		<description><![CDATA[De memory limit verhogen, en wel als volgt: Voeg in de regel: define(’WP_MEMORY_LIMIT’, ’64M’); toe aan wp-config.php Bron: http://www.nerdgrind.com/increase-wordpress-and-php-memory-limit/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=784&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>De memory limit verhogen, en wel als volgt:</p>
<p>Voeg in de regel:</p>
<p><code>define(’WP_MEMORY_LIMIT’, ’64M’);</code></p>
<p>toe aan wp-config.php</p>
<h2>Bron:</h2>
<p><a href="http://www.nerdgrind.com/increase-wordpress-and-php-memory-limit/" rel="nofollow">http://www.nerdgrind.com/increase-wordpress-and-php-memory-limit/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/784/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/784/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=784&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2011/11/18/wat-doe-je-aan-allowed-memory-size-of-xxx-bytes-exhausted-bij-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>
	</item>
		<item>
		<title>Menu titel laten zien boven uitvoer wp_nav_menu van WordPress</title>
		<link>http://blog.rrwd.nl/2011/06/28/menu-titel-laten-zien-boven-uitvoer-wp_nav_menu-van-wordpress/</link>
		<comments>http://blog.rrwd.nl/2011/06/28/menu-titel-laten-zien-boven-uitvoer-wp_nav_menu-van-wordpress/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 14:07:49 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=777</guid>
		<description><![CDATA[In WordPress kun je eigen menu&#8217;s samenstellen en via de functie wp_nav_menu weergeven. Helaas zit er (nog?) geen optie bij om ook de titel van het menu te laten zien. Hieronder een manier om de titel op te halen en boven het menu te zetten. Vervang onderstaand voorbeeld het id 9 door het id van het [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=777&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In WordPress kun je eigen <a href="http://codex.wordpress.org/Appearance_Menus_SubPanel">menu&#8217;s samenstellen</a> en via de functie <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu">wp_nav_menu</a> weergeven. Helaas zit er (nog?) geen optie bij om ook de titel van het menu te laten zien. Hieronder een manier om de titel op te halen en boven het menu te zetten.</p>
<p>Vervang onderstaand voorbeeld het id <strong>9</strong> door het id van het menu dat je wilt gebruiken.</p>
<p>In functions.php</p>
<pre>function rrwd_get_name_menu ($id_menu) {
	// thanks to Pranick, http://themeforest.net/forums/thread/help-wp-nav-menu-title/45109?page=1
	$cippo_menu_locations = (array) get_nav_menu_locations();
	$cippo_menu = get_term_by( 'id', $id_menu, 'nav_menu', ARRAY_A );
	echo $cippo_menu[ 'name' ];
}</pre>
<p>In de template bijvoorbeeld</p>
<pre>&lt;h2&gt;&lt;?php rrwd_get_name_menu(<strong>9</strong>); ?&gt;&lt;/h2&gt;
&lt;?php wp_nav_menu( array( 'container_class' =&gt; 'menu-header', 'menu' =&gt; <strong>9</strong>) ); ?&gt;</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/777/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/777/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=777&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2011/06/28/menu-titel-laten-zien-boven-uitvoer-wp_nav_menu-van-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>
	</item>
		<item>
		<title>Code-snippit: submenu in WordPress</title>
		<link>http://blog.rrwd.nl/2011/03/01/code-snippit-submenu-in-wordpress/</link>
		<comments>http://blog.rrwd.nl/2011/03/01/code-snippit-submenu-in-wordpress/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 15:33:41 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=768</guid>
		<description><![CDATA[Deze code laat (buiten de loop) een submenu zien van een pagina met kinders in WordPress &#60;?php   if($post-&#62;post_parent) {   $children = wp_list_pages("title_li=&#38;child_of=".$post-&#62;post_parent."&#38;echo=0&#38;sort_column=menu_order");   $titlenamer = get_the_title($post-&#62;post_parent);   } else {   $children = wp_list_pages("title_li=&#38;child_of=".$post-&#62;ID."&#38;echo=0&#38;sort_column=menu_order");   $titlenamer = get_the_title($post-&#62;ID);   }   if ($children) { ?&#62; &#60;h2&#62; &#60;? echo $titlenamer ?&#62; &#60;/h2&#62;   &#60;ul id="sidebar-menu"&#62;     &#60;?php echo $children; ?&#62;   &#60;/ul&#62; &#60;?php } [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=768&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Deze code laat (buiten de loop) een submenu zien van een pagina met kinders in WordPress</p>
<pre>&lt;?php  
if($post-&gt;post_parent) {  
  $children = wp_list_pages("title_li=&amp;child_of=".$post-&gt;post_parent."&amp;echo=0&amp;sort_column=menu_order");  
  $titlenamer = get_the_title($post-&gt;post_parent);  
} else {  
  $children = wp_list_pages("title_li=&amp;child_of=".$post-&gt;ID."&amp;echo=0&amp;sort_column=menu_order");  
  $titlenamer = get_the_title($post-&gt;ID);  
}  
if ($children) { ?&gt;
  &lt;h2&gt; &lt;? echo $titlenamer ?&gt; &lt;/h2&gt;  
  &lt;ul id="sidebar-menu"&gt;    
    &lt;?php echo $children; ?&gt;  
  &lt;/ul&gt;
&lt;?php } ?&gt;</pre>
<p>See it in action: <a href="http://www.regelink.net/diensten/flora-en-fauna-onderzoek/">Regelink.net</a></p>
<p>Bron: <a href="//wordpress.org/support/topic/link-to-parent-page-in-navigation">WordPress forum</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/768/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/768/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=768&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2011/03/01/code-snippit-submenu-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>
	</item>
		<item>
		<title>Using Gravity Forms for iDeal payment</title>
		<link>http://blog.rrwd.nl/2011/02/18/using-gravity-forms-for-ideal-payment/</link>
		<comments>http://blog.rrwd.nl/2011/02/18/using-gravity-forms-for-ideal-payment/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 15:52:03 +0000</pubDate>
		<dc:creator>Rian Rietveld</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Gravity Forms]]></category>
		<category><![CDATA[iDEAL]]></category>
		<category><![CDATA[WordPress Plugin]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=730</guid>
		<description><![CDATA[IDEAL is an on-line payment method, populair in the Netherlands and Belgium. For the integration of iDEAL Light  into WordPress, I used the outstanding plugin Gravity Forms (GF), in combination with 2 new template files. This is my first attempt, feel free to notify me of better ways to do stuff. I used GF version [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=730&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>IDEAL is an on-line payment method, populair in the Netherlands and Belgium. For the integration of iDEAL Light  into WordPress, I used the outstanding plugin Gravity Forms (GF), in combination with 2 new template files. This is my first attempt, feel free to notify me of better ways to do stuff. I used GF version 1.4.5 for this. The next version of GF has more options for payment, but well, this works for now <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<span id="more-730"></span></p>
<p>If you are looking for a WordPress plugin for this,<br />
go check out Pronamic&#8217; add-on <a href="http://pronamic.nl/ideal-voor-gravity-forms/">iDEAL voor Gravity Forms</a>.</p>
<p>This code is for selecting one or more of a single item.<br />
It uses the security check by hash tag (see the iDEAL documentation for more info about this)</p>
<h2>First create 5 new pages like</h2>
<ul>
<li>Order (this is the page with the GF)</li>
<li>Confirm (where the visitor checks and confirms her order)</li>
<li>Thanks (page for iDEAL to redirect to when the payment is successfull)</li>
<li>Error (page for iDEAL to redirect to when the payment is unsuccessful)</li>
<li>Cancel (page for iDEAL to redirect to when the payment is canceled)</li>
</ul>
<p>Add some explaining text to this pages, to let the visitor know what&#8217;s happening.</p>
<h2>Then create the GF-form</h2>
<p>This is the form the visitor has to fill out with name/address and number of items she wants to order.</p>
<p>Required are 2 input fields:</p>
<ul>
<li>items (make that a number-field, define a default value, e.g. 1)</li>
<li>price (make that a text-field, define a value with 2 decimals)</li>
</ul>
<p>Form-options:</p>
<ul>
<li>Form confirmation: choose Redirect and select to the full url of the page we named Confirm</li>
<li>Check &#8220;Pass Field Data Via Query String&#8221; and fill out: id={entry_id}</li>
</ul>
<p><a href="http://rrwd.files.wordpress.com/2011/02/redirect.jpg"><img class="aligncenter size-medium wp-image-742" title="redirect" src="http://rrwd.files.wordpress.com/2011/02/redirect.jpg?w=300&#038;h=259" alt="redirect" width="300" height="259" /></a></p>
<p>Include this form into the page Order.</p>
<h2>Create the PHP template file for the order confirmation</h2>
<p>Create a template file for the Confirm page. Include the following code before the get_header(); These are fixed parameters iDEAL needs.</p>
<pre>$id_order = $_GET['id'];</pre>
<pre>// fixed parameters
$key = 'xxxxxxxxx'; // your hash key of secret key
$merchantID = '1234567890'; // your Acceptant ID
$subID = '0';              //almost always 0 (null)
$purchaseID = "$id_order";        //number or code for your backoffice (I used the form id)
$paymentType = 'ideal';    //always ideal
$validUntil = date('Y-m-d\TH:i:s.000\Z', time()+900); // this moment plus 15 min)
$itemNumber1 = '1';  // in case of hash tag, use always 1
$itemDescription1 = "Box of chocolates";     // the description of the item you sell
$itemQuantity1 = 1;                    // in case of hash tag, use always 1
$language = ''; // empty is faster
$currency = 'EUR';
$description = "Another order of some delicious chocolate"; // the description of your order
$baseurl    = 'http://www.yourdomain.nl'; // your website here....
$urlSuccess = "$baseurl/thanks/?id=$id_order";
$urlCancel  = "$baseurl/error/";
$urlError   = "$baseurl/cancel/";</pre>
<p>Then add the data for the order and the calculated total amount, just below the content of the page. You need 3 id&#8217;s to make this work:</p>
<ul>
<li>The id of the form</li>
<li>the field_number of  &#8220;items&#8221;</li>
<li>the field_number of  &#8220;price&#8221;</li>
</ul>
<p>The can retrieve these by looking them up in the HTML-code of the form, id=&#8217;input_2_1&#8242; means form id  2, field number 1.</p>
<pre> &lt;dl id="check-order"&gt;</pre>
<pre>&lt;?php
// get data from form</pre>
<pre>$results = $wpdb-&gt;get_results( "SELECT value, field_number FROM wp_rg_lead_detail WHERE lead_id=$id_order ORDER BY field_number" ) ;</pre>
<pre>$form_meta = RGFormsModel::get_form_meta(2);
foreach ($results as $result) {
$field1 = RGFormsModel::get_field($form_meta, $result-&gt;field_number);
if ($result-&gt;field_number == 1 )  {
$items = $result-&gt;items;
if ($items &lt; 1 ) $items = 1;
} elseif ($result-&gt;field_number == 22 ) {
$price = $result-&gt;value;
} else {
echo "&lt;dt&gt;". $field1["label"] . " &lt;/dt&gt;\n";
echo "&lt;dd&gt;". $result-&gt;value . "&lt;/dd&gt;\n";
}
}</pre>
<pre>$price  = str_replace(",", ".", $price);
$itemPrice1 = $price*100*$items;
$amount = $itemPrice1;
echo "&lt;dt&gt;Number of boxes &lt;/dt&gt;\n";
echo "&lt;dd&gt;$items&lt;/dd&gt;\n";
echo "&lt;dt&gt;Price for one box&lt;/dt&gt;\n";
echo "&lt;dd&gt; &amp;euro; ". number_format( ($price) , 2, '.', '') . "&lt;/dd&gt;\n";
echo "&lt;dt&gt;Total &lt;/dt&gt;\n";
echo "&lt;dd&gt; &amp;euro; ". number_format( ($price*$items) , 2, '.', '') . "&lt;/dd&gt;\n";</pre>
<pre>$shastring = "$key$merchantID$subID$amount$purchaseID$paymentType$validUntil"
. "$itemNumber1$itemDescription1$itemQuantity1$itemPrice1";
$shastring = preg_replace(
array("/[ \t\n]/", '/&amp;amp;/i', '/&amp;lt;/i', '/&amp;gt;/i', '/&amp;quot/i'),
array(         '',        '&amp;',       '&lt;',       '&gt;',        '"'),
$shastring);
$shasign = sha1($shastring);
?&gt;
&lt;/dl&gt;
</pre>
<pre>&lt;form method="post" action="the url provided by your iDEAL supplier" name="form1"&gt;
&lt;input type="hidden" name="merchantID" value="&lt;?php echo $merchantID; ?&gt;"&gt;
&lt;input type="hidden" name="subID" value="&lt;?php echo $subID; ?&gt;"&gt;
&lt;input type="hidden" name="amount" value="&lt;?php echo $amount; ?&gt;"&gt;
&lt;input type="hidden" name="purchaseID" value="&lt;?php echo $purchaseID; ?&gt;"&gt;
&lt;input type="hidden" name="language" value="&lt;?php echo $language; ?&gt;"&gt;
&lt;input type="hidden" name="currency" value="&lt;?php echo $currency; ?&gt;"&gt;
&lt;input type="hidden" name="description" value="&lt;?php echo $description ; ?&gt;"&gt;
&lt;input type="hidden" name="hash" value="&lt;?php echo $shasign; ?&gt;"&gt;
&lt;input type="hidden" name="paymentType" value="&lt;?php echo $paymentType; ?&gt;"&gt;
&lt;input type="hidden" name="validUntil" value="&lt;?php echo $validUntil; ?&gt;"&gt;
&lt;input type="hidden" name="itemNumber1" value="&lt;?php echo $itemNumber1; ?&gt;"&gt;
&lt;input type="hidden" name="itemDescription1" value="&lt;?php echo $itemDescription1; ?&gt;"&gt;
&lt;input type="hidden" name="itemQuantity1" value="&lt;?php echo $itemQuantity1; ?&gt;"&gt;
&lt;input type="hidden" name="itemPrice1" value="&lt;?php echo $itemPrice1; ?&gt;"&gt;
&lt;input type="hidden" name="urlSuccess" value="&lt;?php echo $urlSuccess; ?&gt;"&gt;
&lt;input type="hidden" name="urlCancel" value="&lt;?php echo $urlCancel; ?&gt;"&gt;
&lt;input type="hidden" name="urlError" value="&lt;?php echo $urlError; ?&gt;"&gt;
&lt;input type="submit" name="submit2" value="Pay with iDEAL"&gt;
&lt;/form&gt;
</pre>
<p>The (test)url provided by your iDEAL supplier is for example &#8220;<a href="https://idealtest.rabobank.nl/ideal/mpiPayInitRabo.do&#038;#8221" rel="nofollow">https://idealtest.rabobank.nl/ideal/mpiPayInitRabo.do&#038;#8221</a>;</p>
<h2>Then create the template for the Thanks page.</h2>
<p>This is the page iDEAL redirects you if the payment is successful. In this page an email will be send to the owner of the site to inform her that someone made an order from the site.</p>
<p>Add below the content:</p>
<pre>
&lt;?php
$id_order = $_GET['id'];
$body = "You've got a new order:\nView it on: http://www.yoursite.nl/wp-admin/admin.php?page=gf_entries&amp;view=entries&amp;id=2"; //id refers to the id of the form
wp_mail('your@email.nl', 'New website order', $body); ?&gt;
</pre>
<h2>Add some style</h2>
<p>in style.php you can add something like:</p>
<pre>
#check-order {
  margin: 0 0 14px 0;
}
#check-order dt {
  font-weight: bold;
  float: left;
  width: 200px;
}
</pre>
<h2>Discussion</h2>
<p>One thing that needs to be added is an unique number to the form-id, to prevent direct access to the confirm page with only adding an id number. Thinking about adding the IP number of the visitor in a hidden field and checking with the conformation if the visitor has the same IP.</p>
<p>And $id_order = $_GET['id']; had to get properly sanitized and checked</p>
<h2>Documentation and resources</h2>
<ul>
<li><a href="http://www.gravityforms.com/">Gravity Forms</a></li>
<li><a href="http://www.ideal.nl/?lang=eng-GB">iDEAL</a></li>
<li><a href="http://rrwd.files.wordpress.com/2011/02/handleiding-ideal-lite.pdf">Handleiding iDEAL Lite</a> (Dutch)</li>
<li>And a big thanks to Alex Cancado from <a href="http://www.rocketgenius.com">Rocketgenius.com</a> for support and michaelbyrd123 for code idea&#8217;s.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/730/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/730/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=730&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2011/02/18/using-gravity-forms-for-ideal-payment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://rrwd.files.wordpress.com/2011/02/100x100.gif?w=100" />
		<media:content url="http://rrwd.files.wordpress.com/2011/02/100x100.gif?w=100" medium="image">
			<media:title type="html">ideal</media:title>
		</media:content>

		<media:content url="http://2.gravatar.com/avatar/54b6a8a47f9d6f1a93f33be5909c59a5?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Rian</media:title>
		</media:content>

		<media:content url="http://rrwd.files.wordpress.com/2011/02/redirect.jpg?w=300" medium="image">
			<media:title type="html">redirect</media:title>
		</media:content>
	</item>
		<item>
		<title>Geen sifr, geen cufon maar Font-face!</title>
		<link>http://blog.rrwd.nl/2011/01/19/geen-sifr-geen-cufon-maar-font-face/</link>
		<comments>http://blog.rrwd.nl/2011/01/19/geen-sifr-geen-cufon-maar-font-face/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 06:50:42 +0000</pubDate>
		<dc:creator>Rick Leyten</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=723</guid>
		<description><![CDATA[De laatste bijdrage van onze (nu ex-)stagiaire Rick Leyten: Na de fijne ervaring met sifr *ahum* besloot ik om te gaan zoeken naar een vervanging en die vond ik! De makers van font-face maken het zo makkelijk dat echt het geen flash nodig heeft om te functioneren. Sterker nog iedereen met een geupdate browser (op [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=723&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>De laatste bijdrage van onze (nu ex-)stagiaire Rick Leyten: Na de fijne ervaring met sifr *ahum* besloot ik om te gaan zoeken naar een vervanging en die vond ik!<br />
De makers van font-face maken het zo makkelijk dat echt het geen flash nodig heeft om te functioneren. Sterker nog iedereen met een geupdate browser (op Opera na.. dit komt binnenkort) ziet deze fonts.<span id="more-723"></span></p>
<p>Het enige wat je moet doen is in je css-stylesheet het volgende definiëren:</p>
<pre>/* Font face */
@font-face {
font-family: GraublauWeb;
font-weight: bold; /* Optioneel */
src: url("jouw-internet-adres/GraublauWebBold.otf") format("opentype");
}</pre>
<p>In de src plaats je waar de font zich bevindt, vervolgens definieer je in een html-tag waar deze font zich moet laten zien:</p>
<pre>h2 {
    font-family: GraublauWeb;
    font-size: 18px;
}</pre>
<p>En violá! Kind kan de was doen..</p>
<p>Bron:</p>
<ul>
<li><a href="http://www.font-face.com">Font-face</a></li>
<li>css3.info Web fonts with @font-face http://www.css3.info/preview/web-fonts-with-font-face/</li>
<li>A list apart <a href="http://www.alistapart.com/articles/cssatten/">CSS @ Ten: The Next Big Thing</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/723/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/723/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=723&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2011/01/19/geen-sifr-geen-cufon-maar-font-face/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/b30d18b1ca910c92ddbbd3895394397f?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rickleyten</media:title>
		</media:content>
	</item>
		<item>
		<title>Gravity Form met een dynamische input</title>
		<link>http://blog.rrwd.nl/2010/12/15/gravity-form-met-een-dynamische-input/</link>
		<comments>http://blog.rrwd.nl/2010/12/15/gravity-form-met-een-dynamische-input/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 08:48:43 +0000</pubDate>
		<dc:creator>Rick Leyten</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Gravity Forms]]></category>

		<guid isPermaLink="false">http://blog.rrwd.nl/?p=689</guid>
		<description><![CDATA[Voor een project bij RRWD web development, moest ik een functionaliteit bedenken i.v.m. het ontwerp van een nieuwe WordPress website. In dit grafisch ontwerp stond in de sidebar een drop down menu met een submit button. Je kunt in dit geval een afspraak maken en alvast aangeven waar het over gaat. Dus zou het mooi [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=689&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Voor een project bij <a title="RRWD Web development" href="http://www.rrwd.nl">RRWD web development</a>, moest ik een functionaliteit bedenken i.v.m. het ontwerp van een nieuwe WordPress website. In dit grafisch ontwerp stond in de sidebar een drop down menu met een submit button. Je kunt in dit geval een afspraak maken en alvast aangeven waar het over gaat. Dus zou het mooi zijn als de aangegeven reden van afspraak onthouden zou worden en meegestuurd werd naar het afspraak-formulier. Dit staat niet standaard in <a title="GravityForms" href="http://www.gravityforms.com">Gravity Forms</a>, dus moest ik uit zoeken hoe we dit voor elkaar krijgen.<span id="more-689"></span></p>
<p>We beginnen simpel met een formulier te maken met de volgende html code:<br />
<code><br />
&lt;form id="form1" name="form1" method="get" action="/contact"&gt;<br />
&lt;label&gt;<br />
<span style="font-family:monospace;"> &lt;select name="choice" id="select"&gt;<br />
&lt;option value="First Choice"&gt;First Choice&lt;/option&gt;<br />
&lt;option value="Second Choice"&gt;Second Choice&lt;/option&gt;<br />
&lt;option value="Third Choice"&gt;Third Choice&lt;/option&gt;<br />
&lt;/select&gt;<br />
&lt;/label&gt;<br />
&lt;label&gt;<br />
&lt;input type="submit" name="button" id="button" value="Submit" /&gt;<br />
&lt;/label&gt;<br />
&lt;/form&gt;</span></code></p>
<p>Wanneer de submit button wordt geklikt gaat de pagina met de informatie na de “/contact” pagina. Hier in zit het mail formulier van gravity forms.</p>
<p>Maar om nou de waarde op te halen van het ingevulde formulier moeten we die ook even op vragen. Dat doen we met de volgende php code:</p>
<p><code>&lt;?php $choice = $_GET['choice'] ?&gt;</code></p>
<p>Deze staat boven het formulier waar het Gravity Forms formulier zich bevindt. Aangezien we geen PHP in een WordPress pagina kunnen zetten moeten we dus een aparte template maken voor deze pagina.</p>
<p>Vervolgens gaan we naar onze form in de WordPress-backend. Hier in maken we een dropdown-field met dezelfde waardes als het formulier dat we boven hebben staan.</p>
<p>Daarna gaan we naar de “Advanced” tab van de dropdown. Daar zien we “Allow field to be populated dynamic” staan, vink deze aan! Geef hem een parameter mee die identiek is aan de naam van het formulier dat we in het begin hebben gemaakt. In dit geval dus “choice”, en violá!</p>
<p>Het zou nu moeten werken!</p>
<p>Met dank aan: <a title="rocketgenius on twitter" href="http://twitter.com/#!/rocketgenius">Carl Hancock</a> van Gravity Forms voor de support.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rrwd.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rrwd.wordpress.com/689/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.rrwd.nl&#038;blog=8100029&#038;post=689&#038;subd=rrwd&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.rrwd.nl/2010/12/15/gravity-form-met-een-dynamische-input/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://rrwd.files.wordpress.com/2010/12/grafityforms.jpg?w=123" />
		<media:content url="http://rrwd.files.wordpress.com/2010/12/grafityforms.jpg?w=123" medium="image">
			<media:title type="html">grafityforms</media:title>
		</media:content>

		<media:content url="http://2.gravatar.com/avatar/b30d18b1ca910c92ddbbd3895394397f?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rickleyten</media:title>
		</media:content>
	</item>
	</channel>
</rss>
