<?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/"
	>

<channel>
	<title>WordPress &#8211; Blackbams Blog</title>
	<atom:link href="https://blog.blackbam.at/category/web-development/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.blackbam.at</link>
	<description>development - digital arts - internet</description>
	<lastBuildDate>Sat, 16 May 2020 11:15:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Speaker at WordCamp Vienna 2020: How to create high-quality and long living WordPress Projects</title>
		<link>https://blog.blackbam.at/2020/05/16/speaker-at-wordcamp-vienna-2020-how-to-create-high-quality-and-long-living-wordpress-projects/</link>
					<comments>https://blog.blackbam.at/2020/05/16/speaker-at-wordcamp-vienna-2020-how-to-create-high-quality-and-long-living-wordpress-projects/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Sat, 16 May 2020 11:07:15 +0000</pubDate>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[David Stöckl]]></category>
		<category><![CDATA[Speaker]]></category>
		<category><![CDATA[Talk]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[wordcamp vienna 2020]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2408</guid>

					<description><![CDATA[Today a little post about myself: I was speaker at Wordcamp Vienna 2020. It was my first talk in front of a huge audience and therefore definitely a challenge. Anyway I a am proud that I have done it and the message was recieved by the audience quite well. I had to speak in the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today a little post about myself: I was speaker at Wordcamp Vienna 2020. It was my first talk in front of a huge audience and therefore definitely a challenge. Anyway I a am proud that I have done it and the message was recieved by the audience quite well. I had to speak in the german track therefore the video is only available in german. By the way: This Blog was created in the year 2008 and required barely any maintenance work since then &#8211; though the code is 12 years old.</p>
<p>&nbsp;</p>
<p><iframe src="https://videopress.com/embed/rpSZwQgA" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe> <script src="https://videopress.com/videopress-iframe.js"></script></p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2020%2F05%2F16%2Fspeaker-at-wordcamp-vienna-2020-how-to-create-high-quality-and-long-living-wordpress-projects%2F&#038;title=Speaker%20at%20WordCamp%20Vienna%202020%3A%20How%20to%20create%20high-quality%20and%20long%20living%20WordPress%20Projects" data-a2a-url="https://blog.blackbam.at/2020/05/16/speaker-at-wordcamp-vienna-2020-how-to-create-high-quality-and-long-living-wordpress-projects/" data-a2a-title="Speaker at WordCamp Vienna 2020: How to create high-quality and long living WordPress Projects"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2020/05/16/speaker-at-wordcamp-vienna-2020-how-to-create-high-quality-and-long-living-wordpress-projects/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>New WordPress Plugin released: Simple User Locking</title>
		<link>https://blog.blackbam.at/2019/07/04/new-wordpress-plugin-released-simple-user-locking/</link>
					<comments>https://blog.blackbam.at/2019/07/04/new-wordpress-plugin-released-simple-user-locking/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Thu, 04 Jul 2019 13:12:46 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2382</guid>

					<description><![CDATA[A little bit of advertising for my new Plugin "Simple User Locking" which I have just released to the WordPress plugin repository. It has just passed the security audit by the WordPress plugin team and is not publicly available and free for everybody.]]></description>
										<content:encoded><![CDATA[<p>A little bit of advertising for my new Plugin &#8220;Simple User Locking&#8221; which I have just released to the WordPress plugin repository. It has just passed the security audit by the WordPress plugin team and is not publicly available and free for everybody: <a href="https://wordpress.org/plugins/simple-user-locking/">https://wordpress.org/plugins/simple-user-locking/</a></p>
<p>This is its description:</p>
<p>Prevent users from logging into your WordPress installation for a certain timeframe or permanently. Works also great with the multisite user management area. The locked users are easily manageable within the users overview page. The settings are within the user edit pages. No user can lock himself. No user with a lower role can lock a higher user and administrators in a network can not lock super administrators. If a user is locked, he is instantly logged out of any session until the lock expires or is removed.</p>
<p>No useless overhead, no ads. Just a tiny, but very effective plugin to keep your website secure.</p>
<ul>
<li>you do not want to delete a user, but you want to make sure he can not access the site (at least for a certain timeframe)</li>
<li>an employee leaves your company and access should be removed, but you want to keep his user as an author in the system</li>
<li>you want to punish a certain user which did bad things for a certain timeframe</li>
<li>you want only few persons to have access to your WordPress site in order to minimize risk of incidents</li>
<li> &#8230; or maybe some other use case</li>
</ul>
<p>Would be great to hear whatever feedback or improvement ideas 😉 </p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2019%2F07%2F04%2Fnew-wordpress-plugin-released-simple-user-locking%2F&#038;title=New%20WordPress%20Plugin%20released%3A%20Simple%20User%20Locking" data-a2a-url="https://blog.blackbam.at/2019/07/04/new-wordpress-plugin-released-simple-user-locking/" data-a2a-title="New WordPress Plugin released: Simple User Locking"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2019/07/04/new-wordpress-plugin-released-simple-user-locking/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>qTranslate is dead &#8211; long live qTranslate XT</title>
		<link>https://blog.blackbam.at/2019/03/14/qtranslate-is-dead-long-live-qtranslate-xt/</link>
					<comments>https://blog.blackbam.at/2019/03/14/qtranslate-is-dead-long-live-qtranslate-xt/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Thu, 14 Mar 2019 18:13:53 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[multilanguage]]></category>
		<category><![CDATA[qtranslate]]></category>
		<category><![CDATA[qtranslate xt]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2340</guid>

					<description><![CDATA[qTranslate is a great multilanguage Plugin for WordPress. It is fast and easy. For many of my projects from 2012-2017 I have chosen it over WPML or multisite multilanguage as it is super fast and easy. Then the author suddenly has disappeared without a Word tens of thousands of WordPress sites have been affected. One [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>qTranslate is a great multilanguage Plugin for WordPress. It is fast and easy. For many of my projects from 2012-2017 I have chosen it over WPML or multisite multilanguage as it is super fast and easy.</p>
<p>Then the author suddenly has disappeared without a Word tens of thousands of WordPress sites have been affected. One year later some great guy appeared which improved qTranslate and developed it further und the name qTranslate X. Again a lot of developers and bloggers were using it. Guess what happend? The author has collected donations and again disappeared without a word. The project was abandoned again and tens of thousands of unhappy users were left behind.</p>
<p>After almost two years of silence I am really happy to announce that new authors have decided to continue the project with the name <strong>qTranslate XT</strong>. The project is not yet in the official plugin repository but it is available on Github: <a href="https://github.com/qtranslate/qtranslate-xt">https://github.com/qtranslate/qtranslate-xt</a></p>
<p>You can replace old installations of qTranslate X and e.g. bugs with more recent versions of PHP are fixed!</p>
<p>All the best to the new team and I hope that the completely open source project will become even more popular in the future. This site is powered by qTranslate XT 😎 </p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2019%2F03%2F14%2Fqtranslate-is-dead-long-live-qtranslate-xt%2F&#038;title=qTranslate%20is%20dead%20%E2%80%93%20long%20live%20qTranslate%20XT" data-a2a-url="https://blog.blackbam.at/2019/03/14/qtranslate-is-dead-long-live-qtranslate-xt/" data-a2a-title="qTranslate is dead – long live qTranslate XT"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2019/03/14/qtranslate-is-dead-long-live-qtranslate-xt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Moving WordPress: Too many redirects</title>
		<link>https://blog.blackbam.at/2015/05/07/moving-wordpress-too-many-redirects/</link>
					<comments>https://blog.blackbam.at/2015/05/07/moving-wordpress-too-many-redirects/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Wed, 06 May 2015 22:15:56 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[moving wordpress]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2238</guid>

					<description><![CDATA[Sometimes when moving a WordPress installation to another Webhost if cloning the database and the files and even if the domain is the same you may get the error &#8220;Too many redirects&#8221;. This usually happens if the configuration of the new server environment is different from the old one. In many cases the problem is that [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Sometimes when moving a WordPress installation to another Webhost if cloning the database and the files and even if the domain is the same you may get the error &#8220;Too many redirects&#8221;. This usually happens if the configuration of the new server environment is different from the old one.</p>
<p>In many cases the problem is that <strong>the domain is with www. or without www.</strong> in the beginning which may differ from the old system. In this case you probably have to go to the &#8220;hosting settings&#8221; of your cPanel or whatever and set the domain correctly. The error will be gone afterwards.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2015%2F05%2F07%2Fmoving-wordpress-too-many-redirects%2F&#038;title=Moving%20WordPress%3A%20Too%20many%20redirects" data-a2a-url="https://blog.blackbam.at/2015/05/07/moving-wordpress-too-many-redirects/" data-a2a-title="Moving WordPress: Too many redirects"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2015/05/07/moving-wordpress-too-many-redirects/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Page Speed Optimization for SEO</title>
		<link>https://blog.blackbam.at/2015/03/29/wordpress-page-speed-optimization-for-seo/</link>
					<comments>https://blog.blackbam.at/2015/03/29/wordpress-page-speed-optimization-for-seo/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Sun, 29 Mar 2015 01:07:31 +0000</pubDate>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[speed]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2210</guid>

					<description><![CDATA[Without any doubt it is important for every website to be as fast as possible in order to save bandwith, visitors time and in terms of SEO. As I recently had to optimize various WordPress websites regarding their page speed delivery here is what I did. Getting to know your current website performance First of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Without any doubt it is important for every website to be as fast as possible in order to save bandwith, visitors time and in terms of SEO. As I recently had to optimize various WordPress websites regarding their page speed delivery here is what I did.</p>
<h2>Getting to know your current website performance</h2>
<p>First of all you have to find out how well your website was built and how well speed optimization has been performed. Therefore there are various tool you may use:</p>
<ol>
<li>Google PageSpeed Insights (<a href="https://developers.google.com/speed/pagespeed/">https://developers.google.com/speed/pagespeed/</a>)</li>
<li>Pingdom Website Speed Test (<a href="http://tools.pingdom.com/fpt/">http://tools.pingdom.com/fpt/</a>)</li>
<li>YSlow Browser Plugin (<a href="http://yslow.org/">http://yslow.org/</a>)</li>
<li>and many more&#8230;.</li>
</ol>
<p>If you do not do nice speed optimization yet than your results will probably be far away from good.</p>
<h2>Common performance problems and how to solve them</h2>
<p>In the documentation of these tools you will find detailed description on how to improve your website speed including &#8230;</p>
<ul>
<li>optimize your images / media</li>
<li>reduce server response time</li>
<li>minify all files deliverd (html/css/javascript/svg/&#8230;)</li>
<li>reduce the number of http requests</li>
<li>avoid / reduce blocking resources (js/css)</li>
<li>compression</li>
<li>prioritizing visible contents</li>
<li>&#8230;</li>
</ul>
<h2>WordPress Page Speed Optimization: Hands on</h2>
<p>The great thing about WordPress is that there are like 10 Plugins for every possible thing you can imagine. An important task for WordPress developers is to find and configure the appropriate ones while still knowing which things to do manually. With the following combination of Plugins and Configurations I have created really nice results in LAMP environments:</p>
<h3>Reducing Images</h3>
<p><a href="https://wordpress.org/plugins/ewww-image-optimizer/">EWWW Image Optimizer</a> , <a href="https://code.google.com/p/timthumb/">Timthumb</a> (resizing &amp; quality of 70)</p>
<h3>Minification</h3>
<p><a href="http://sass-lang.com/"><strong>SASS</strong></a> or <a href="http://lesscss.org/"><strong>LESS</strong></a> with -x compress option, <a href="https://wordpress.org/plugins/autoptimize/"><b>Autopimize WordPress Plugin</b></a>.</p>
<p style="clear: both;">
<p>Note: Most probably you will have to organize your scripts and styles in some appropriate manner in order to use the full power of this Plugins. Of course you also have the possibility to minify all your files manually.</p>
<h3>Avoid / reduce blocking ressources</h3>
<p>This is a task is one of the most complex and you probably have to do it manually. Write clean CSS and keep it small. Do not use too much external scripts and combine these into as few as possible.</p>
<h3>Reduce Server response time: Caching</h3>
<p>My favorite Plugin for WordPress is <a href="https://wordpress.org/plugins/zencache/"><strong>ZenCache</strong></a> and if you do not have too much dynamic contents it is probably recommendable to allow client-side cache within the options. However there are some probably nice alternatives like W3 total cache. Furthermore you can use your .htaccess on Apache (see below).</p>
<h3>Compression</h3>
<p>Apache has a module which is called<strong> mod_deflate</strong>. An example of a WordPress .htaccess file which has been built for website speed optimization is shown below &#8211; go adjust it to your needs:</p>
<pre lang="bash">RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]



# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 week"
# My favicon
ExpiresByType image/x-icon "access plus 1 week"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"




# BEGIN Gzip Compression
AddEncoding gzip .gz
&lt;filesmatch "\.js\.gz$"&gt;
AddType "text/javascript" .gz

&lt;filesmatch "\.css\.gz$"&gt;
AddType "text/css" .gz

 
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript image/svg+xml application/x-font-woff application/font-woff
AddType x-font/otf .otf 
AddType x-font/ttf .ttf 
AddType x-font/eot .eot 
AddType x-font/woff .woff 
AddType image/x-icon .ico 
AddType image/png .png
AddType image/jpeg .jpg





</pre>
<p>Hope this tutorial may be useful for you. Any improvement ideas are welcome.</p>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2015%2F03%2F29%2Fwordpress-page-speed-optimization-for-seo%2F&#038;title=WordPress%20Page%20Speed%20Optimization%20for%20SEO" data-a2a-url="https://blog.blackbam.at/2015/03/29/wordpress-page-speed-optimization-for-seo/" data-a2a-title="WordPress Page Speed Optimization for SEO"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2015/03/29/wordpress-page-speed-optimization-for-seo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Create a WordPress admin user from PHP</title>
		<link>https://blog.blackbam.at/2015/03/26/create-a-wordpress-admin-user-from-php/</link>
					<comments>https://blog.blackbam.at/2015/03/26/create-a-wordpress-admin-user-from-php/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Thu, 26 Mar 2015 13:22:13 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Scripts]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[lost password]]></category>
		<category><![CDATA[user]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2204</guid>

					<description><![CDATA[This script turned out to be useful in a lot of situations when lost an admin password and cannot restore it for some reason. Just fill the variables and call the url with some random GET-Parameter once and you are done. // insert a new administrator // add_action('init','check_insert'); function check_insert() { if(isset($_GET["jio8"]) &#038;& $_GET["jio8"]=="u7dd") { $newusername [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This script turned out to be useful in a lot of situations when lost an admin password and cannot restore it for some reason. Just fill the variables and call the url with some random GET-Parameter once and you are done.</p>
<pre lang="php">

// insert a new administrator
// add_action('init','check_insert');

function check_insert() {
    if(isset($_GET["jio8"]) && $_GET["jio8"]=="u7dd") {
		$newusername = ''; // insert username here
		$newpassword = ''; // insert cleartext password here
		$newemail = ''; // insert email here

		// Check that user doesn't already exist
		if ( !username_exists($newusername) && !email_exists($newemail) )
		{
				// Create user and set role to administrator
				$user_id = wp_create_user( $newusername, $newpassword, $newemail);
				if ( is_int($user_id) )
				{
						$wp_user_object = new WP_User($user_id);
						$wp_user_object->set_role('administrator');
						echo 'Successfully created new admin user. Remove this function!';
				}
				else {
						echo 'Error with wp_insert_user. No users were created.';
				}
		} else {
				echo 'User not created. This user or email already exists.';
		}
    }
}

</pre>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2015%2F03%2F26%2Fcreate-a-wordpress-admin-user-from-php%2F&#038;title=Create%20a%20WordPress%20admin%20user%20from%20PHP" data-a2a-url="https://blog.blackbam.at/2015/03/26/create-a-wordpress-admin-user-from-php/" data-a2a-title="Create a WordPress admin user from PHP"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2015/03/26/create-a-wordpress-admin-user-from-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Plugin: TinyMCE and TinyMCE Advanced Professsional Formats and Styles</title>
		<link>https://blog.blackbam.at/2013/06/03/wordpress-plugin-tinymce-and-tinymce-advanced-professsional-formats-and-styles/</link>
					<comments>https://blog.blackbam.at/2013/06/03/wordpress-plugin-tinymce-and-tinymce-advanced-professsional-formats-and-styles/#comments</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Mon, 03 Jun 2013 21:26:28 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[tinymce]]></category>
		<category><![CDATA[tinymce advanced]]></category>
		<category><![CDATA[visual editor]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2073</guid>

					<description><![CDATA[TinyMCE is the standard WordPress visual editor and it might be the best choice for a lot of WordPress websites. Unfortunatly it always required some time and a lot of knowledge to customize and style it to your needs. Using this following Plugin will reduce this problem. &#160; Clients tend to get crazy if they have [&#8230;]]]></description>
										<content:encoded><![CDATA[<div style="float: right;">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"><input type="hidden" name="hosted_button_id" value="VNS6BVGVH69P6" /> <input type="image" alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif" /> <img decoding="async" alt="" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1" border="0" /></form>
</div>
<p>TinyMCE is the standard WordPress visual editor and it might be the best choice for a lot of WordPress websites. Unfortunatly it always required some time and a lot of knowledge to customize and style it to your needs. Using this following Plugin will reduce this problem.</p>
<p>&nbsp;</p>
<p>Clients tend to get crazy if they have to edit HTML code on their own or if little things are not working as expected. Make your editing experience as simple and good as possible: Customize TinyMCE / TinyMCE Advanced (or other TinyMCE variants) to fit your needs. Basically, this Plugin does two things for you:</p>
<h3>1. This Plugin installs two files editor-style.css and editor-style-shared.css into your Theme folder (so you can still do updates of the Plugin), which can be edited in the backend of your site</h3>
<ul>
<li>editor-style.css is used for styling your TinyMCE Editor</li>
<li>editor-style-shared.css is used for styles to be used in your theme AND in your TinyMCE editor (so you do not have to copy)</li>
</ul>
<p><em>Note:</em> To use this feature, you have to write your own CSS code into this files, which is the only professional way to do it.</p>
<h3>2. The main feature of this Plugin is to offer a GUI to create custom style formats for TinyMCE dynamically</h3>
<ul>
<li>Easy and very fast to add/change/delete</li>
<li>You do not have to change one single line of source code any more</li>
</ul>
<p>Please report any bugs you may encounter and support this Plugin if you like it.    </p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://wordpress.org/plugins/tinymce-and-tinymce-advanced-professsional-formats-and-styles/"><span style="font-size: large;"><strong>&gt;&gt; Download the Plugin HERE &lt;&lt;</strong></span></a></p>
<p>&nbsp;</p>
<p>  <strong>Screenshots:</strong></p>
<div style="text-align: center;"><a href="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-1.png"><img fetchpriority="high" decoding="async" class="size-medium wp-image-2074 aligncenter" alt="screenshot-1" src="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-1-600x194.png" width="600" height="194" srcset="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-1-600x194.png 600w, https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-1.png 772w" sizes="(max-width: 600px) 100vw, 600px" /></a></div>
<div style="text-align: center;"> </div>
<div style="text-align: center;"> </div>
<div style="text-align: center;">      <a href="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-2.png"><img loading="lazy" decoding="async" class="size-medium wp-image-2075 aligncenter" alt="screenshot-2" src="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-2-600x194.png" width="600" height="194" srcset="https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-2-600x194.png 600w, https://blog.blackbam.at/wp-content/uploads/2013/06/screenshot-2.png 772w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></div>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2013%2F06%2F03%2Fwordpress-plugin-tinymce-and-tinymce-advanced-professsional-formats-and-styles%2F&#038;title=WordPress%20Plugin%3A%20TinyMCE%20and%20TinyMCE%20Advanced%20Professsional%20Formats%20and%20Styles" data-a2a-url="https://blog.blackbam.at/2013/06/03/wordpress-plugin-tinymce-and-tinymce-advanced-professsional-formats-and-styles/" data-a2a-title="WordPress Plugin: TinyMCE and TinyMCE Advanced Professsional Formats and Styles"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2013/06/03/wordpress-plugin-tinymce-and-tinymce-advanced-professsional-formats-and-styles/feed/</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Plugin: Better deactivate visual editor</title>
		<link>https://blog.blackbam.at/2012/12/01/wordpress-plugin-better-deactivate-visual-editor/</link>
					<comments>https://blog.blackbam.at/2012/12/01/wordpress-plugin-better-deactivate-visual-editor/#respond</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Sat, 01 Dec 2012 19:34:50 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Scripts]]></category>
		<category><![CDATA[deactivate]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[visual]]></category>
		<category><![CDATA[wysiwyg]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=2011</guid>

					<description><![CDATA[As it is happens quite often that the rich editor of WordPress is a barrier concerning posts including difficult HTML, I wrote a Plugin. I am planning to release an improved version to the WordPress Plugin repository soon, but I think this works quite well for now: &#160; // Deactivate Visual Editor if option is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>As it is happens quite often that the rich editor of WordPress is a barrier concerning posts including difficult HTML, I wrote a Plugin. I am planning to release an improved version to the WordPress Plugin repository soon, but I think this works quite well for now:</p>
<p>&nbsp;</p>
<pre lang="php">
// Deactivate Visual Editor if option is set
add_action('pre_get_posts', 'deactivate_visual_editor');

function deactivate_visual_editor() {
  global $wp_rich_edit;
  $post_id = $_GET['post'];
  
  $value = get_post_meta($post_id, 'deactivate_visual_editor', true);
  if($value == 1)
    $wp_rich_edit = false;
}


// create a box for each post / page
function cis_init(){
	add_meta_box("cis_post_settings", __("Details",TEXTDOMAIN), "cis_post_settings", "page", "normal", "high");
	add_meta_box("cis_post_settings", __("Details",TEXTDOMAIN), "cis_post_settings", "post", "normal", "high");
}

function cis_post_settings() {
    global $post;
    $custom = get_post_custom($post->ID);
	
	// maybe we want to automatize this?
?>
	<div class="inside">
		<table class="form-table" class="customEditor">
			<tr>
				<th><label for="deactivate_visual_editor">Deactivate visual editor?</label></th>
				<td>
					<input type="checkbox" name="deactivate_visual_editor" value="1" <?php if($custom["deactivate_visual_editor"][0]==1) {?>checked="checked"<?php } ?> />
				</td>
			</tr>
		</table>
	</div>
<?php
}

function save_cis_post(){
	global $post;
	
	if ( defined('DOING_AUTOSAVE') &#038;&#038; DOING_AUTOSAVE ) {
		return $post_id;
	}
	if($post->post_type == "post" || $post->post_type == "page") {
		update_post_meta($post->ID, "deactivate_visual_editor", intval($_POST["deactivate_visual_editor"]));
		
	}
}
</pre>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2012%2F12%2F01%2Fwordpress-plugin-better-deactivate-visual-editor%2F&#038;title=WordPress%20Plugin%3A%20Better%20deactivate%20visual%20editor" data-a2a-url="https://blog.blackbam.at/2012/12/01/wordpress-plugin-better-deactivate-visual-editor/" data-a2a-title="WordPress Plugin: Better deactivate visual editor"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2012/12/01/wordpress-plugin-better-deactivate-visual-editor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Disabling (specific) WordPress update notifications in Backend for Core, Themes and Plugins</title>
		<link>https://blog.blackbam.at/2012/07/12/disabling-specific-wordpress-update-notifications-in-backend-for-core-themes-and-plugins/</link>
					<comments>https://blog.blackbam.at/2012/07/12/disabling-specific-wordpress-update-notifications-in-backend-for-core-themes-and-plugins/#comments</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Thu, 12 Jul 2012 16:28:00 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Scripts]]></category>
		<category><![CDATA[Update notifications]]></category>
		<category><![CDATA[WordPress Plugins]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=1961</guid>

					<description><![CDATA[The automatic upgrade function of WordPress is usefull for most bloggers, as they always are reminded to keep WordPress and its extensions up to date. Anyhow, it can be very annoying for developers when customers and end-user make updates by their own, usually destroying something. It is often recomendable to disable this notifications: Sometimes a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The automatic upgrade function of WordPress is usefull for most bloggers, as they always are reminded to keep WordPress and its extensions up to date. Anyhow, it can be very annoying for developers when customers and end-user make updates by their own, usually destroying something.</p>
<p>It is often recomendable to disable this notifications: Sometimes a Plugin or Theme must be extended or changed by the developer &#8211; automatic upgrades would destroy these changes. Some Plugins like Mailpress do not disable the automatic upgrade, though automatic upgrading usually leeds to huge data losses  🙁 Recently I had to learn this the hard way, but this is no excuse for incomplete backups, of course.</p>
<p>However the following functions can help:</p>
<h2>1. Disable Plugin upgrades</h2>
<p>You can disable special Plugins by pasting the following code into the Plugin itself:</p>
<pre lang="php">
add_filter('site_transient_update_plugins', 'cis_remove_plugin_update');
 
function cis_remove_plugin_update($value) {
	unset($value-\>response[ plugin_basename(__FILE__) ]);
	return $value;
}
</pre>
<p>You can alternativley paste some code into your functions.php-file of your Theme:</p>
<pre lang="php">
add_filter('site_transient_update_plugins', 'cis_remove_plugin_update');
 
function cis_remove_plugin_update($value) {
	$plugin_relative_path = "plugin_relative_path"; // this could be "akismet/akismet.php" for example
	unset($value->response[ $plugin_relative_path]);
	return $value;
}

</pre>
<p>You also can disable all Plugin upgrades, for example if you want to prevent customers from doing that:</p>
<pre lang="php">
remove_action ('load-update-core.php', 'wp_update_plugins');
add_filter ('pre_site_transient_update_plugins',create_function ('$a', "return null;"));
</pre>
<h2>2. Disabling Theme Upgrades</h2>
<p>Disable all Theme updgrades:</p>
<pre lang="php">
remove_action ('load-update-core.php', 'wp_update_themes');
add_filter ('pre_site_transient_update_themes',create_function ('$a', "return null;"));
</pre>
<h2>3. Disable Core Updgrade</h2>
<p>Note: You never should disable the Core-Upgrade of WordPress, as important security upgrades will be missed. However, if you need to do it for some reason:</p>
<pre lang="php">
add_filter ('pre_site_transient_update_core',create_function ('$a', "return null;"));
</pre>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2012%2F07%2F12%2Fdisabling-specific-wordpress-update-notifications-in-backend-for-core-themes-and-plugins%2F&#038;title=Disabling%20%28specific%29%20WordPress%20update%20notifications%20in%20Backend%20for%20Core%2C%20Themes%20and%20Plugins" data-a2a-url="https://blog.blackbam.at/2012/07/12/disabling-specific-wordpress-update-notifications-in-backend-for-core-themes-and-plugins/" data-a2a-title="Disabling (specific) WordPress update notifications in Backend for Core, Themes and Plugins"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2012/07/12/disabling-specific-wordpress-update-notifications-in-backend-for-core-themes-and-plugins/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Custom Header Images Plugin for WordPress</title>
		<link>https://blog.blackbam.at/2012/06/25/custom-header-images-plugin-for-wordpress/</link>
					<comments>https://blog.blackbam.at/2012/06/25/custom-header-images-plugin-for-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[Blackbam]]></dc:creator>
		<pubDate>Sun, 24 Jun 2012 23:08:37 +0000</pubDate>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Header Images]]></category>
		<guid isPermaLink="false">https://blog.blackbam.at/?p=1935</guid>

					<description><![CDATA[Update: There was a short intverview regarding this Plugin by expertentesten.de: https://www.expertentesten.de/news/interview-david-stoeckl-custom-header-images-plugin/(language is german). Why does WordPress need another Header Images Plugin? Really, there are a lot of Plugins for this purpose so why did I have to write another one? The answer is: All these plugins have a lot of code, it is hard [&#8230;]]]></description>
										<content:encoded><![CDATA[<div style="float: right; padding: 15px;">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input name="cmd" type="hidden" value="_s-xclick" /> <input name="hosted_button_id" type="hidden" value="DX9GDC5T9J9AQ" /> <input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" type="image" /> <img loading="lazy" decoding="async" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" alt="" width="1" height="1" border="0" /></form>
</div>
<p>Update: There was a short intverview regarding this Plugin by expertentesten.de: <a href="https://www.expertentesten.de/news/interview-david-stoeckl-custom-header-images-plugin/">https://www.expertentesten.de/news/interview-david-stoeckl-custom-header-images-plugin/</a>(language is german).</p>
<p>Why does WordPress need another Header Images Plugin? Really, there are a lot of Plugins for this purpose so why did I have to write another one? The answer is: All these plugins have<strong> a lot of code</strong>, it is <strong>hard to extend these by oneself</strong> and unfortunatly <strong>none if these is really simple to maintain, extend and to understand</strong>. I was searching for hours for the right header image Plugin which provides the functionality that i needed in a simple clean and easy way, without custom tables and buggy built-in uploads, wihout required theme support and so on. So here is my answer: A quick and easy WordPress Plugin to do this job.</p>
<h2>Features</h2>
<ul>
<li>Simple and easy management of header images</li>
<li>Each possible state is covered, by using the <a href="http://upload.wikimedia.org/wikipedia/commons/3/3d/Wordpress_Template_Hierarchy.png">WordPress template hierarchy</a>for diffentiation</li>
<li>The Media Library is used for image management, images are saved by URL copy/paste (so external images can be used, too)</li>
<li>Requires no extra tables</li>
<li>NEW: Support for Custom Post Types (Single Custom Post Images) and Custom Taxonomies (Taxonomy Page Images)</li>
<li>Clean install/uninstall</li>
</ul>
<div> </div>
<div>Be free to post improvement ideas and feature request as a comment to this post.</div>
<h2>Installation</h2>
<p>&gt;&gt; <a style="font-size: 16px; font-weight: bold;" href="http://wordpress.org/extend/plugins/custom-header-images/">Download this Plugin</a> &lt;&lt;</p>
<ol>
<li>Upload the Plugin to your wp-content/plugins/ folder</li>
<li>Activate the Plugin</li>
<li>Go to Settings -&gt; Header Images and insert the image URLs (get the URLs from the media library)</li>
<li>Paste one of the following codes into your theme:</li>
</ol>
<p><strong>NOTE:</strong>This code must be put into PHP brackets!</p>
<p><!--?php ....code.... ?--></p>
<pre lang="php">// standard code
if(function_exists('chi_display_header')) { chi_display_header(); }</pre>
<p>or this code, use concrete numbers for width and height in pixels:</p>
<pre lang="php">// f.e. chi_display_header(960,250); for header images with 960 px width and 250 px height
if(function_exists('chi_display_header')) { chi_display_header($width,$height); }</pre>
<p>Warning: You can only use conditional query tags after the posts_selection action hook in WordPress (the wp action hook is the first one through which you can use these conditionals). For themes, this means the conditional tag will never work properly if you are using it in the body of functions.php, i.e. outside of a function (<a href="http://codex.wordpress.org/Conditional_Tags">http://codex.wordpress.org/Conditional_Tags</a>).</p>
<p>&nbsp;</p>
<p>============ UPDATE: 2014-02-01 ==========</p>
<p>Some functions were added for better flexibility:</p>
<pre lang="php">chi_get_header_image_url(); // get only the URL of the header image

</pre>
<p>&nbsp;</p>
<pre lang="php">chi_get_header_image_link(); // get only the Link of the header image

</pre>
<p>&nbsp;</p>
<pre lang="php">chi_get_display_header_data($width=-1,$height=-1); // get the full output of the plugin into a variable, but do not display it

</pre>
<p>&nbsp;</p>
<h3>Responsiveness tutorial (short)</h3>
<p>For the sake of responsive web design, you will not be happy to put out the same header image on every device (as huge header images are not good for mobile devices to load). Therefore I suggest the following solution which should work well for you:</p>
<p>&nbsp;</p>
<ol>
<li>Instead of calling  chi_display_header(); you call chi_get_header_image_url(); and pass it to a Javascript variablet</li>
<li>Install the <a href="https://code.google.com/p/timthumb/">timthumb library</a> on your WordPress installation</li>
<li>Use Javascript to get the image in the desired size from timthumb.php by passing the original image url</li>
</ol>
<p>&nbsp;</p>
<h2>How to change header images&#8230;</h2>
<ul>
<li>Go to Settings -&gt;Header images (general images)</li>
<li>Meta Boxes at the bottom of post / page edit screen</li>
<li>Category add/edit screen</li>
</ul>
<h2>FAQ</h2>
<p><strong>Q: The Plugin is not displaying the header images correctly. What is wrong?</strong></p>
<ul>
<li>The function code must be pasted into one of your template files, the<strong> best place in most cases of use is the bottom of header.php</strong></li>
<li>This Plugin uses <strong>conditional tags</strong>. Please make sure that your wp_query object has been loaded correctly, before the code is executed.</li>
</ul>
<p><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fblog.blackbam.at%2F2012%2F06%2F25%2Fcustom-header-images-plugin-for-wordpress%2F&#038;title=Custom%20Header%20Images%20Plugin%20for%20WordPress" data-a2a-url="https://blog.blackbam.at/2012/06/25/custom-header-images-plugin-for-wordpress/" data-a2a-title="Custom Header Images Plugin for WordPress"><img src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.blackbam.at/2012/06/25/custom-header-images-plugin-for-wordpress/feed/</wfw:commentRss>
			<slash:comments>93</slash:comments>
		
		
			</item>
	</channel>
</rss>
