<?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>Frumph.NET &#187; Phil (Frumph)</title>
	<atom:link href="http://frumph.net/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://frumph.net</link>
	<description>I&#039;m in your site, touching your stuff.</description>
	<lastBuildDate>Wed, 28 Jul 2010 01:20:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Multi-Comics Setup Summary for ComicPress 2.9.2</title>
		<link>http://frumph.net/wordpress/comicpress/multi-comics-setup-summary-for-comicpress-2-9-2/</link>
		<comments>http://frumph.net/wordpress/comicpress/multi-comics-setup-summary-for-comicpress-2-9-2/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:01:04 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[ComicPress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1180</guid>
		<description><![CDATA[Quick Summary of setting up multiple comics with ComicPress 2.9.2 Setup Storylines, the Comic Category will of course be the root.  The storylines you will use will be the comics names.  So create children off the root comic category as the individual comics. Disable the comic off the front page. Add latest thumbnail widgets and [...]]]></description>
			<content:encoded><![CDATA[<p>Quick Summary of setting up multiple comics with ComicPress 2.9.2</p>
<ol>
<li>Setup Storylines, the Comic Category will of course be the root.  The storylines you will use will be the comics names.  So create children off the root comic category as the individual comics.</li>
<li>Disable the comic off the front page.</li>
<li>Add latest thumbnail widgets and set those widgets to the appropriate category.  (yes you can do this now) So that the thumbnail for the latest comic thumbnail is for that individual comic.</li>
<li>Drag the Comic Navigation widget into under-comic.   Disable *all* the checkmarks except first in category, next in category previous in category and last in category.  Those particular navigation buttons will let you navigate PER category, the first will go to the first comic in the category, next IN category, and LAST comic in the category, etc..</li>
<li>Post the comic into the appropriate storyline category, remember 1 category per comic post, that being the comic you want to post it in.</li>
</ol>
<p>And that's it.   There's still the 1 comic post per day, but you knew that.     If you look on http://frumph.net you will see that I have a Rascal Comic and a Pinups comic both with their own navigation.</p>
<p>If you plan on wanting each comic to have their own site, realistically you should, then WordPress 3.0's Multi-Site feature is what you are really looking for and it's very easy to setup.</p>
<p>Have fun!</p>
<p>- Phil</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1180" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/comicpress/multi-comics-setup-summary-for-comicpress-2-9-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ComicPress 2.9.2 (beta)</title>
		<link>http://frumph.net/wordpress/comicpress/comicpress-2-9-2-beta/</link>
		<comments>http://frumph.net/wordpress/comicpress/comicpress-2-9-2-beta/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:59:50 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[ComicPress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1164</guid>
		<description><![CDATA[Here's ComicPress 2.9.2 (beta) (updated 07/26/2010) Changes: directory/images location fixes for subdirectory installations fixed the storylines archive dropdown category box to display proper storyline category order (thanks dante8) fixed bug with sidebar bleeding with $title by changing it to $sidebartitle all of the widgets have been renamed to remove the 'comicpress' title in front of [...]]]></description>
			<content:encoded><![CDATA[<h4>Here's <a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZG93bmxvYWRzL2NvbWljcHJlc3MyLjkuMi56aXA=">ComicPress 2.9.2</a> (beta)</h4>
<p>(updated 07/26/2010)</p>
<p>Changes:</p>
<ol>
<li>directory/images location fixes for subdirectory installations</li>
<li>fixed the storylines archive dropdown category box to display proper storyline category order (thanks dante8)</li>
<li>fixed bug with sidebar bleeding with $title by changing it to $sidebartitle</li>
<li>all of the widgets have been renamed to remove the 'comicpress' title in front of them so that they're found alphabetical on the list, which also means you will lose your widgets, just re-add them to the sidebars, removed excess code in every one of them cleaning them up</li>
<li>first_in_category, previous_in_category, next_in_category, last_in_category buttons now exist so you can have multiple comics on each site, including the latest thumbnail widget to specify which category you want to display.  setup storylines, make a storyline category for each comic then checkmark those buttons on the navigation put it undercomic and it will *only* navigate that single category storyline.</li>
<li>fixed comic blog post widget to display content again</li>
<li>added  the wp 3.0 background option in the appearance menu *shrug could use CSS with companion* but some people want it easy on them</li>
<li>numerous other little changes to fix issues with 2.9.1.2</li>
<li>checkchildthemeforfile function no longer exists</li>
<li>childfunctions.php in the child themes is now child-functions.php</li>
</ol>
<h4>INSTALLING</h4>
<ol>
<li>You WILL have to redo your widgets (not text widgets, your regular comicpress widgets.</li>
<li>Your child themes will all still work, however again; check your custom functions for function name changes., replace with originals and remodify them.</li>
<li>childfunctions.php in the child themes is now child-functions.php</li>
<li>Remove any other versions of comicpress that have ComicPress as a name in the style.css.</li>
<li>DELETE old, replace with new.  Do *not* just FTP over older versions.</li>
</ol>
<h4>REQUIREMENTS</h4>
<ol>
<li>WordPress 3.0</li>
<li>PHP 5</li>
<li>The knowledge that this is just a theme that works with WordPress, the theme is designed with CSS, you should have a small amount of knowledge in designing your look of your site utilizing CSS.</li>
</ol>
<h4>DISCLAIMER</h4>
<ol>
<li>ComicPress Dev's are not responsible for hosting that has permission issues, if you have problems with permissions you can ask however we can at anytime refuse assistance with problems based on permissions for PHP to access your hosting because of those permissions.   The proper customer service to ask is your hosting provider's  customer service.</li>
<li>ComicPress is a blank-slate theme, which means developing the look of your site is your responsibility.   ComicPress developers have provided the theme companion plugin, the ability to make child themes and an extremely large amount of CSS classes and ID's to work with.  CSS and the knowledge of how CSS works is something that is utilized on the web to design every website.</li>
</ol>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1164" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/comicpress/comicpress-2-9-2-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Frumph will be attending InterventionCon sept 10-12th</title>
		<link>http://frumph.net/wordpress/comicpress/frumph-will-be-attending-interventioncon-sept-10-12th/</link>
		<comments>http://frumph.net/wordpress/comicpress/frumph-will-be-attending-interventioncon-sept-10-12th/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 03:04:37 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[ComicPress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1157</guid>
		<description><![CDATA[I will be attending InterventionCon, sept. 10th through the 12th http://interventioncon.com/.  I will be doing Workshops on CSS/Site Design/WordPress/ComicPress/Tricks. As a bonus to all workshop attendee's, I will be providing information on how to receive the automated Cast addon to ComicPress child themes as a free download.   The casts addon allows you to display your [...]]]></description>
			<content:encoded><![CDATA[<p>I will be attending InterventionCon, sept. 10th through the 12th <a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ludGVydmVudGlvbmNvbi5jb20v">http://interventioncon.com/</a>.  I will be doing Workshops on CSS/Site Design/WordPress/ComicPress/Tricks.</p>
<p>As a bonus to all workshop attendee's, I will be providing information on how to receive the automated Cast addon to ComicPress child themes as a free download.   The casts addon allows you to display your cast members in a totally new to ComicPress way, showing when they first appeared in the comic, how often they have been in the comic, all of the comics they were in with links and other statistics as well as individual biographical information!  (I might even have time to include the relationship tree with that too <img src='http://frumph.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>If you cannot attend the workshop I will be providing this child theme addon for ComicPress for around $29 (after) the con is over.   The addon will be offered as a one time purchase with unlimited upgrades or free for attending any workshops.</p>
<p>- Phil</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1157" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/comicpress/frumph-will-be-attending-interventioncon-sept-10-12th/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ComicPress 3.0 Information Update.</title>
		<link>http://frumph.net/wordpress/comicpress/comicpress-3-0-information-update/</link>
		<comments>http://frumph.net/wordpress/comicpress/comicpress-3-0-information-update/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 01:17:33 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[ComicPress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1133</guid>
		<description><![CDATA[Updated information on the status of CP 3.0 The comics directories need to be located in the wp-content/uploads directory now.  This is because it was a request to lock down wordpress sites and only have the uploads directory available as such on some systems that don't have proper permission setups.   This also made it easier [...]]]></description>
			<content:encoded><![CDATA[<p>Updated information on the status of CP 3.0</p>
<ol>
<li>The comics directories need to be located in the wp-content/uploads directory now.  This is because it was a request to lock down wordpress sites and only have the uploads directory available as such on some systems that don't have proper permission setups.   This also made it easier to code and reduced processing by like 10% just from that change alone. (this is for non-multisite, multisite uses the directories based on the multisite info)</li>
<li>ComicPress Manager is no longer needed, you can ditch it with CP 3.0 - Everything's in the theme.</li>
<li>The multisite (wpmu) mu-plugin is no longer needed.</li>
<li>CP 3.0 is completely plug &amp; play.  You activate the theme, you add a new comic, no configuring.  Although you can adjust the configuring after installing, it's not necessary to get up and going to configure anything.</li>
<li>There is no comicpress-config.php anymore.  No need to worry about losing your options/config on updates.</li>
<li>Comics are "attached' to the post.   And there are several advanced options available including comics in different languages available.</li>
<li>There are no more 'category' separation from comic and blog as you know it now.   The comic's are in their own post type.  Completely separate from the regular blog posts so not only will there never be a conflict again they really just are not seen the same way again.</li>
<li>Backwards compatibility:  Although we <strong>are</strong> leaving the ability to have backwards compatibility where the posts in the comic post type will look at the comics directory via filename date if there <strong>isn't</strong> a comic attached to it, it will search your comics folder for a file with the old date method on it; we don't want people to keep utilizing this method in the future, need  to train comic users to just upload their comic with whatever filename  they want with the upload controls.</li>
<li>There is an upgrade script that will convert all your current comics from the old post style to the new post type.  Just select your primary comics directory (in the script) and go.  Although it will remove all your categories and tags since those are no longer used and are replaced with Chapters and other comic related functions.</li>
<li>All ComicPress versions of the theme will remain <strong>free</strong>.</li>
<li>^ However, your wondering where are those cool <strong>NEW</strong> features we were adding went?  Lemme tell ya, instead of including them in the theme we'll be having Child Themes available with those features in them.  Yes, for pay.  Don't even bother griping about it, that one is a done deal.   The theme itself will always remain free and if you want to buy a child theme with extra features you can.  Those child themes will be available from their individual developer separately from ComicPress.  If you are interested in creating child themes for sale we'll have an area on the website to link to the various child themes people develop.</li>
<li>Soon as the initial release is done while in beta mode we'll have a continual stream of child themes available with so many different options for the site look it's going to be silly.   I have quite a few of them already done and waiting to be put up.</li>
<li>Your current child themes will be compatible up to a point.  The CSS and images are <strong>Absolutely Compatible</strong>, things like the custom child functions, widgets and code will need to be updated.</li>
<li>This is *(not)* the ComicPress Premium package we were making previously.   Almost though.  We stripped out pretty much all the new stuff and are making 3.0 the new post type with the new system.  What we DID leave in is the memory management, core options and new comic method.</li>
<li>We're waiting on Tyler's decision to decide to make this as a normal ComicPress upgrade or call it a new ComicPress name. (note: he decided that this IS going to be ComicPress 3.0 and not an offshoot, he loved it that much)</li>
<li>Stop editing the original theme already and learn how to do a child theme: <a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvd29yZHByZXNzL2NvbWljcHJlc3MvY29udmVydC15b3VyLWNvbWljcHJlc3MtMi05LXNpdGUtdG8tdXNlLWEtY2hpbGQtdGhlbWUv">http://frumph.net/wordpress/comicpress/convert-your-comicpress-2-9-site-to-use-a-child-theme/</a></li>
</ol>
<div class="non-member"><p>There is Members Only content here.<br />To view this content you need to be a member of this site.</p></div>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1133" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/comicpress/comicpress-3-0-information-update/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Convert your ComicPress 2.9* site to use a child theme.</title>
		<link>http://frumph.net/wordpress/comicpress/convert-your-comicpress-2-9-site-to-use-a-child-theme/</link>
		<comments>http://frumph.net/wordpress/comicpress/convert-your-comicpress-2-9-site-to-use-a-child-theme/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 21:01:36 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[ComicPress]]></category>
		<category><![CDATA[Child Theme]]></category>
		<category><![CDATA[Custom]]></category>
		<category><![CDATA[How-To]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1123</guid>
		<description><![CDATA[A child theme is a theme that goes in your wp-content/themes directory that ONLY has your customizations inside of it.   When upgrading ComicPress to newer versions you will not lose all of your customizations since they are centralized in a single location. More information on what a child theme is here: http://frumph.net/wordpress/comicpress-2-9-parent-child-theme-relationship/ Original Post is [...]]]></description>
			<content:encoded><![CDATA[<p>A child theme is a theme that goes in your wp-content/themes directory that ONLY has your customizations inside of it.   When upgrading ComicPress to newer versions you will not lose all of your customizations since they are centralized in a single location.</p>
<p>More information on what a child theme is here:<br />
<a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvd29yZHByZXNzL2NvbWljcHJlc3MtMi05LXBhcmVudC1jaGlsZC10aGVtZS1yZWxhdGlvbnNoaXAv">http://frumph.net/wordpress/comicpress-2-9-parent-child-theme-relationship/</a></p>
<p>Original Post is here:<br />
<a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvd29yZHByZXNzL2ZhcS9jcmVhdGluZy1hLWN1c3RvbS1jaGlsZC10aGVtZS1mb3ItY29taWNwcmVzcy0yLTkv">http://frumph.net/wordpress/faq/creating-a-custom-child-theme-for-comicpress-2-9/</a></p>
<p>A child theme will contain your graphic sets for navigation, avatars, calendars, moods and site graphics;  Your custom CSS, widgets and code overrides.</p>
<p>I have provided a blank comicpress child theme here:<br />
<a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZG93bmxvYWRzL2NvbWljcHJlc3MtYmxhbmsuemlw">http://frumph.net/downloads/comicpress-blank.zip</a></p>
<ol>
<li>Modify the directory name to one of your chosing, i.e. /comicpress-mysitename/</li>
<li>Change the 'Theme Name, Author and Author URI' inside the child theme's style.css to your custom names.</li>
<li>Put your custom sets of navigation, avatars, calanders, moods in the images folder in this Child Theme, uses the same base structure as the main ComicPress theme, (if you have them, otherwise you can make them later).</li>
<li>If you are using a custom-menubar.php, that too goes into this child theme.</li>
<li>The widgets directory in the child theme is where you can place custom widgets if you make any.</li>
<li>Design your site with Companion or putting the CSS into this child theme's style.css</li>
<li>Take a screen capture of your designed site and replace the screenshot.png file in this child theme.</li>
</ol>
<h4>1. Modify the directory name.</h4>
<p>The comicpress-blank.zip file has a directory inside of it called comicpress-blank, you can either upload it via the dashboard -&gt; themes -&gt; add new [upload], or you can ftp the contents into the wp-content/themes directory of your wordpress installation.</p>
<p>When it is on your server, rename the directory to something more coherent then 'blank' so that you can recognize it as your own.</p>
<p>The end result will be something like this  /wp-content/themes/comicpress-yoursitename/  and the style.css for the child theme is in the /wp-content/themes/comicpress-yoursitename/style.css</p>
<h4>2. Change relevant information inside the style.css of your child theme.</h4>
<pre class="brush: php;">
/*
Theme Name: ComicPress Blank
Theme URI: http://comicpress.org
Template: comicpress
Description: Publish a comic with WordPress.  &lt;a href=&quot;http://comicpress.org&quot;&gt;Visit the ComicPress Website.&lt;/a&gt;
Author: Your Name Here
Author URI: http://Your personal site url here/
Version: 1.0
*/
</pre>
<p>This is how the blank child theme originally looks.  You will want to modify this to have the information you want in your child theme.   Change the theme name to represent your webcomic or site.  You're the author, change that as well and your website too.</p>
<h4>4. Put your custom stuff in the child theme.</h4>
<p>Now that you have your own child theme you can centralize the location of all of your images &#038; stuff that is used on your site.  The child themes images directory is where you place your site design images that are relevant to the style.css inside the child theme directory.   When using the child themes style.css and your images are in the child themes images directory you can use this path structure in example:</p>
<pre class="brush: css;">
body {
	background: #fff url('images/background.jpg') top center no-repeat;
}
</pre>
<p>Notice that the url(' portion is basically just looking into the images directory that is under the style.css that is calling for that image instead of using some huge http:// patch structure.</p>
<p>Your other graphic sets, like navigation, moods, etc behave the same way as if they were put into the main theme.    If you have custom navigation graphics with it's own navstyle.css that you created, instead of going into the /comicpress/images/nav/<setname>/  directory you would put them into the child theme instead, such as /comicpress-yoursitename/images/nav/<setname>/ and ComicPress will check there as well for the options area in the dashboard when configuring your site.</p>
<h4>5. custom-menubar.php goes into the child theme</h4>
<p>The custom-header.php is basically a file that can be injected into the menubar position wherever it is on your site, instead of the menubar showing it will instead load this file.  This allows you to create your own look and feel for your menubar.   This custom-header.php file when using a child theme needs to be in the child theme directory.</p>
<h4>6 . The widgets directory in the child theme</h4>
<p>You can create your own custom widgets or ones that are specific for your child theme.  This directory gets auto loaded when the theme gets executed to be seen in the widgets area of the dashboard.</p>
<h4>7. Put your CSS changes into the style.css of the child theme.</h4>
<p>In order to continue with this whole "don't edit your comicpress theme" method of thinking.   Some of you use Companion to do this exact same thing.   However I want to touch up on an important note to those modifying CSS.   You do NOT put the entire style.css set of elements into the custom area or companion.  You ONLY put changes.   For example, in the main ComicPress theme's style.css you see:</p>
<pre class="brush: css;">
body {
	margin: 0;
	font-family: 'Arial' , sans-serif;
	font-size: 14px;
	color: #000;
}
</pre>
<p>And you want to add a background to the body area and change the color from black to white.   You would want to ONLY put what is changed, like this inside of the style.css of the child theme OR companion:</p>
<pre class="brush: css;">
body {
	background: #fff url('images/background.jpg') top center no-repeat;
	color: #000;
}
</pre>
<p>Notice that not *all* of the elements are there, ONLY what is changed.   This allows you to recognize what specific thing is changed instead of trying to figure out a difference between your original and your changes.</p>
<p>Good luck!  If any of you need any assistance in creating your own custom child theme, please do not hesitate to contact me!</p>
<p>- Phil (Frumph)</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1123" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/comicpress/convert-your-comicpress-2-9-site-to-use-a-child-theme/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Understanding do_action() and add_action() &#8211; Revisited</title>
		<link>http://frumph.net/wordpress/understanding-do_action-and-add_action/</link>
		<comments>http://frumph.net/wordpress/understanding-do_action-and-add_action/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 21:45:59 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://frumph.webcomicplanet.com/?p=167</guid>
		<description><![CDATA[While designing your themes, often times you want to be able to push dynamic content to a particular area of it.  The do_action(), add_action() functions of WP are a great tool to use. These functions in wordpress allow you to specify a point in the code to trigger or initiate another segment of code.    Like [...]]]></description>
			<content:encoded><![CDATA[<p>While designing your themes, often times you want to be able to push dynamic content to a particular area of it.  The do_action(), add_action() functions of WP are a great tool to use.</p>
<p><span id="more-167"></span></p>
<p>These functions in wordpress allow you to specify a point in the code to trigger or initiate another segment of code.    Like an extension to the original code that's placed there.   This is used so that different plugins that are created can use those 'hooks' in the wordpress code to add to the original core code without having to actually edit the core code itself.</p>
<p><strong> </strong></p>
<p><span style="font-size: medium;"><strong>do_action()</strong></span><br />
<a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvRnVuY3Rpb25fUmVmZXJlbmNlL2RvX2FjdGlvbg==">http://codex.wordpress.org/Function_Reference/do_action</a></p>
<p>The WordPress.ORG Codex refers to the usage as:</p>
<pre class="brush: php;">
do_action($tag, $arg = );
</pre>
<p>The $tag refers to the 'Label' you specify took hook into with your add_action function.   The $arg = refers to the arguments that you want to pass through the do_action and into the add_action.</p>
<p>.. That really doesn't say much on how to actually use the do_action.    What the do_action() function does is set's a label in a specific point in your code for your plugin or theme code to hook into with the add_action() function.</p>
<p>For example, I place a do_action() right above the blog area of my theme.</p>
<pre class="brush: php;">
do_action('mytheme_aboveblog');
</pre>
<p>What you're doing when you add the do_action is make it so that at that place in your code you can inject some other code into it.   What makes this different then actually hardcoding the function name there?  Using the do_action() allows multiple functions to access that particular point in the place you put it at, not just one, which you can use to set different events to occur to trigger them to display or be used there.</p>
<p><span style="font-size: medium;"><strong>add_action()</strong></span><br />
<a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvRnVuY3Rpb25fUmVmZXJlbmNlL2FkZF9hY3Rpb24=">http://codex.wordpress.org/Function_Reference/add_action</a></p>
<p>The WordPress.ORG Codex refers to the usage as:</p>
<pre class="brush: php;">
add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1);
</pre>
<p>The $tag refers to the label you specified as the hook in the do_action() function.   $function_to_add refers to what the name of the function is inside your plugin to execute, $priority refers to how much of a priority is given to execution of this function and $accepted_args refers to the number of arguments passed through do_action() to the $function_to_add.</p>
<p>What this is really saying?   The add_action finds the label specified in the $tag and hooks into it saying to that bit of code to "execute this function in addition to what you're already doing, oh and pass these arguments."  For example, in my activity monitor plugin:</p>
<pre class="brush: php;">
add_action('mytheme_aboveblog',  'mytheme_online_user_message');
</pre>
<p>Now, whenever the do_action checks for something to be injected into it to be used the add_action will trigger the function mytheme_online_user_message to run.</p>
<pre class="brush: php;">
function mytheme_online_user_message() {
	global  $current_user;
	if (!empty($current_user)) {
		$user_login = addslashes($current_user-&gt;user_login);
		echo &quot;Hello {$user_login}!&quot;;
	}
}
</pre>
<p>Now if the user is logged on it will run this function in that do_action place you put it and if the user is online inject that message into that place.</p>
<p><strong><span style="font-size: medium;">Summary</span></strong></p>
<p>Placing a do_action()  into your code allows other functions to hook into it to extend the functionality of where that hook is placed, using add_action().</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=167" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/understanding-do_action-and-add_action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review &#8211; WebComic + InkBlot vs ComicPress</title>
		<link>http://frumph.net/wordpress/review-webcomic-inkblot-vs-comicpress/</link>
		<comments>http://frumph.net/wordpress/review-webcomic-inkblot-vs-comicpress/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 07:37:18 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1077</guid>
		<description><![CDATA[This morning was the first time I ever opened WebComic + Inkblot, the first thing I did was look at the code.   Let me show you what I found.  ComicPress 3.0 vs WebComic + Inkblot 2.1.1 I wanted to test the page load and memory usage of both systems that are just straight bare-bones upon [...]]]></description>
			<content:encoded><![CDATA[<p>This morning was the first time I ever opened WebComic + Inkblot, the first thing I did was look at the code.   Let me show you what I found.  ComicPress 3.0 vs WebComic + Inkblot 2.1.1</p>
<p>I wanted to test the page load and memory usage of both systems that are just straight bare-bones upon installation.  I added the following to the footer of Inkblot since it didn't have it to 'show' it's users.</p>
<pre class="brush: php;">
	&lt;p&gt;&lt;?php echo get_num_queries() ?&gt; queries. &lt;?php  $unit=array('b','kb','mb','gb','tb','pb'); echo @round(memory_get_usage(true)/pow(1024,($i=floor(log(memory_get_usage(true),1024)))),2).' '.$unit[$i]; ?&gt; Memory usage. &lt;?php timer_stop(1) ?&gt; seconds.&lt;/p&gt;
</pre>
<p>What this line does is give the amount of SQL queries that the system uses, how much memory it uses and how long it took for the page to compile and load PER USER ACCESS.  Without any extra added plugins.  Take note though this is done on a server with opcode cache'ing to begin with, while ComicPress knows how to deal with Memory, WebComic does not.</p>
<p>OpCode Cache'ing cache's the PHP code, it is the preferred way of cache'ing if you have it available.</p>
<p>Let's start with ComicPress (to try to be more fair I set it to the 3C theme so it had 2 sidebars there WITH default widgets that load):</p>
<p style="text-align: center;"><a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZmlsZXMvMjAxMC8wNi9jb21pY3ByZXNzLTEuanBn"><img class="size-medium wp-image-1078 aligncenter" title="comicpress-1" src="http://frumph.net/files/2010/06/comicpress-1-300x163.jpg" alt="" width="300" height="163" /></a></p>
<p style="text-align: center;">47 Queries, 3.25MB Memory Usage, 0.117 seconds load time.</p>
<p style="text-align: left;">Now let's look at InkBlot (no default widgets loading only one sidebar active)</p>
<p style="text-align: left;"><a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZmlsZXMvMjAxMC8wNi93aW5rYmxvdC0wLmpwZw=="><img class="size-medium wp-image-1079 aligncenter" title="winkblot-0" src="http://frumph.net/files/2010/06/winkblot-0-300x36.jpg" alt="" width="300" height="36" /></a>Oh wait, you CANT, Inkblot requires a Plugin to actually work.   ComicPress does not, you name the files put them in the comics directory and associate the categories in the comicpress-config.php and that's all you need for a functioning working system.</p>
<p style="text-align: left;">So moving on, I added the WebComic Plugin and now its:</p>
<p style="text-align: center;"><a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZmlsZXMvMjAxMC8wNi93aW5rYmxvdC0xLmpwZw=="><img class="size-medium wp-image-1080 aligncenter" title="winkblot-1" src="http://frumph.net/files/2010/06/winkblot-1-300x203.jpg" alt="" width="300" height="203" /></a>54 Queries, 15.75 MB mem used and loads in 0.574 seconds</p>
<p style="text-align: left;">I'm sorry, why? ^ clearly wtf.   Just to be fair I activated ComicPress Manager.</p>
<p style="text-align: left;"><a href="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2ZydW1waC5uZXQvZmlsZXMvMjAxMC8wNi9jb21pY3ByZXNzLTIuanBn"><img class="aligncenter size-medium wp-image-1081" title="comicpress-2" src="http://frumph.net/files/2010/06/comicpress-2-300x165.jpg" alt="" width="300" height="165" /></a></p>
<p style="text-align: center;">47 Queries, 3mb mem usage and load time of 0.175 seconds.</p>
<p style="text-align: left;">Moving on.</p>
<p style="text-align: left;"><span id="more-1077"></span></p>
<p style="text-align: left;">
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1077" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/review-webcomic-inkblot-vs-comicpress/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Adding a check for custom taxonomies on archive pages.</title>
		<link>http://frumph.net/wordpress/adding-a-check-for-custom-taxonomies-on-archivesearch-pages/</link>
		<comments>http://frumph.net/wordpress/adding-a-check-for-custom-taxonomies-on-archivesearch-pages/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 04:12:47 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Archive]]></category>
		<category><![CDATA[Custom Post Type]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[WordPress 3.0]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=1049</guid>
		<description><![CDATA[On search and archive pages there isn't a specific archive_&#60;post_type&#62;.php  yet so you have to edit your current archive and search to compensate for it being used for custom post types and taxonomies. On a good note, there is the $wp_query-&#62;query_vars that we can work with. (if) there is a custom post type taxonomy being [...]]]></description>
			<content:encoded><![CDATA[<p>On search and archive pages there isn't a specific archive_&lt;post_type&gt;.php  yet so you have to edit your current archive and search to compensate for it being used for custom post types and taxonomies.   On a good note, there is the $wp_query-&gt;query_vars that we can work with. (if) there is a custom post type taxonomy being set it will be in those variables.    Now here's the interesting part.    If we check for the is_category() and is_tag() ahead of the check for the query_var checks it will weed out the normal post post_type from the ones in custom post types.</p>
<p><span id="more-1049"></span></p>
<pre class="brush: php;">
&lt;?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?&gt;
&lt;?php /* Category Archive */ if (is_category()) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Archive for &amp;#8216;','comicpress'); ?&gt;&lt;?php single_cat_title() ?&gt;&amp;#8217;&lt;/h2&gt;
&lt;?php /* Tag Archive */ } elseif( is_tag() ) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Posts Tagged &amp;#8216;','comicpress'); ?&gt;&lt;?php single_tag_title() ?&gt;&amp;#8217;&lt;/h2&gt;
&lt;?php /* Daily Archive */ } elseif (is_day()) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Archive for','comicpress'); ?&gt; &lt;?php the_time('F jS, Y') ?&gt;&lt;/h2&gt;
&lt;?php /* Monthly Archive */ } elseif (is_month()) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Archive for','comicpress'); ?&gt; &lt;?php the_time('F, Y') ?&gt;&lt;/h2&gt;
&lt;?php /* Yearly Archive */ } elseif (is_year()) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Archive for','comicpress'); ?&gt; &lt;?php the_time('Y') ?&gt;&lt;/h2&gt;
&lt;?php /* Author Archive */ } elseif (is_author()) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Author Archive','comicpress'); ?&gt;&lt;/h2&gt;
&lt;?php /* Paged Archive */ } elseif (isset($_GET['paged']) &amp;&amp; !empty($_GET['paged'])) { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php _e('Archives','comicpress'); ?&gt;&lt;/h2&gt;
&lt;?php /* taxonomy */ } elseif (is_taxonomy($wp_query-&gt;query_vars['taxonomy'])) {
	if (is_term($wp_query-&gt;query_vars['term'])) { ?&gt;
		&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php echo $wp_query-&gt;query_vars['taxonomy']; ?&gt; - &lt;?php echo $wp_query-&gt;query_vars['term']; ?&gt;&lt;/h2&gt;
	&lt;?php } else { ?&gt;
		&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php echo $wp_query-&gt;query_vars['taxonomy']; ?&gt;&lt;/h2&gt;
	&lt;?php } ?&gt;
&lt;?php /* Post Type */ } elseif ($post-&gt;post_type !== 'post') { ?&gt;
	&lt;h2 class=&quot;pagetitle&quot;&gt;&lt;?php echo $post-&gt;post_type; ?&gt;&lt;/h2&gt;
&lt;?php } ?&gt;
</pre>
<p>I know this isn't pretty and if anyone wants to rewrite it to be a little cleaner I would be grateful for that.  There also needs to be a fix for the different [pages] that occur with pagination.</p>
<p>- Phil</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1049" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/adding-a-check-for-custom-taxonomies-on-archivesearch-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebComic Planet and Frumph.NET together again.</title>
		<link>http://frumph.net/webcomic-planet/webcomic-planet-and-frumph-net-together-again/</link>
		<comments>http://frumph.net/webcomic-planet/webcomic-planet-and-frumph-net-together-again/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 12:44:10 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[WebComic Planet]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=934</guid>
		<description><![CDATA[As most of you have undoubtedly noticed, WebComic Planet now directs you to the main Frumph.NET site (my home on the web).   That is because I have been graciously given back the responsibility of running it.   I have revamped the listing site software and need to start re-adding / verifying all the sites on it [...]]]></description>
			<content:encoded><![CDATA[<p>As most of you have undoubtedly noticed, WebComic Planet now directs you to the main Frumph.NET site (my home on the web).   That is because I have been graciously given back the responsibility of running it.   I have revamped the listing site software and need to start re-adding / verifying all the sites on it again, which are now called "showcase"'s.  The whole image of the list is changing to more of an interaction with users with a commenting system and ratings.</p>
<p>Each listing has the ability to have genre's, style's authors, designers, CMS's and some other nifty tags/keywords associated to each of the Showcases so that searching for comics that are in the same genre or by author is easily done.</p>
<p>Since each of the showcases are basically wordpress-posts we can include galleries and they are easily editable with post thumbnails and more.</p>
<p>I have articles here from the past webcomicplanet, however I do not yet know if I should integrate them back into the site.   If you care to comment please do.</p>
<div class="non-member"><p>There is Members Only content here.<br />To view this content you need to be a member of this site.</p></div>
<p>- Phil</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=934" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/webcomic-planet/webcomic-planet-and-frumph-net-together-again/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 Multisite &#8211; Subdomain installation NOBLOGREDIRECT behavior fix.</title>
		<link>http://frumph.net/wordpress/wordpress-3-0-multisite-subdomain-installation-noblogredirect-behavior-fix/</link>
		<comments>http://frumph.net/wordpress/wordpress-3-0-multisite-subdomain-installation-noblogredirect-behavior-fix/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 21:21:49 +0000</pubDate>
		<dc:creator>Phil (Frumph)</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://frumph.net/?p=885</guid>
		<description><![CDATA[A little explanation for those who have no idea what NOBLOGREDIRECT is. The define('NOBLOGREDIRECT', '%siteurl%'); inside of the wp-config.php makes it so that when someone enters a subdomain that does not exist on your site to redirect to whatever url you wish it to.   You can use this to have it either go to a [...]]]></description>
			<content:encoded><![CDATA[<p>A little explanation for those who have no idea what NOBLOGREDIRECT is.</p>
<p>The <strong>define('NOBLOGREDIRECT', '%siteurl%'); </strong>inside of the wp-config.php makes it so that when someone enters a subdomain that does not exist on your site to redirect to whatever url you wish it to.   You can use this to have it either go to a specific FAQ page or directly back to the main root installation, anywhere you want to direct it.  the %siteurl% can be replaced for example define('NOBLOGREDIRECT', 'http://frumph.net/FAQ/site-create');<br />
<span id="more-885"></span></p>
<p>When someone in their browser tries to go to (for example) http://badsubdomain.frumph.net/ a subomain which doesn't exist, it will go to what is defined in NOBLOGREDIRECT.</p>
<p>Without using NOBLOGREDIRECT the (for example) http://badsubdomain.frumph.net/ - which is a subdomain that doesn't exist would direct to the signup page asking which reports whether or not the user can create the bad subdomain in question.   This is fine, there's nothing wrong with it redirecting to the signup page if someone put in a bad url.   However, those of us who think it's rather tasteful to have the user just redirect to the home page don't like that, so we want to use the NOBLOGREDIRECT to direct things to the front page; have the user look at the site first.</p>
<p>Now where's the behavior problem?  It's when using NOBLOGREDIRECT and on your normal use of the mainsite.   The bad behavior is when someone goes to a page on the normal site that doesn't exist.  For example http://frumph.net/idontexist/  ;  Instead of redirecting to the sites 404 page (the page not found template) it will redirect you to what is specified in NOBLOGREDIRECT.  Wait.. what?  Why does it do that?    The behavior of redirecting 404 pages is an old function used in WPMU that should not exist anymore however is left in when WPMU was merged with WordPress itself.</p>
<p>What can be done to fix the behavior so that it goes back to dishing out 404 pages?   Well that's easy, you just disable the function from being called that would redirect those 404's.</p>
<p>In your /wp-content/mu-plugins/ folder, (if you don't have one and are using multisite, you can create it manually)  you add a custom.php file to it and add a line to disable the action.</p>
<p>For example, create a file named custom.php  toss it into the /wp-content/mu-plugins/</p>
<p>custom.php </p>
<pre class="brush: php;">
&lt;?php
remove_action( 'template_redirect', 'maybe_redirect_404' );
?&gt;
</pre>
<p>The function that is causing the bad behavior of not directing 404 pages properly is maybe_redirect_404() and it's being called as an add_action, so in order for us to not have the function run we remove the add_action with remove_action.</p>
<p>Having the custom.php file (a file we created just now) placed in the mu-plugins folder means that its automatically activated and running at all times.</p>
<p>Now those 404 pages are redirecting to the 404 page not found template for your theme and bad subdomains entered will go to whereever you specified in the NOBLOGREDIRECT.</p>
<p>- Phil</p>
 <img src="http://frumph.net/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=885" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://frumph.net/wordpress/wordpress-3-0-multisite-subdomain-installation-noblogredirect-behavior-fix/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
