Archive for WordPress

Daniel’s DropDowns 2.1 – WordPress Plug-In

Version 2.1 of Daniel’s DropDowns has been released. This fixes a problem introduced with the 2.5-series of WordPress – the output of the WordPress tag changed, so the search-and-replace portion that added a “Select Category” entry didn’t work. This has been fixed in version 2.1. I also corrected a small bug that caused the first entry in the category list to be selected if a default wasn’t specified.

It can be downloaded from the WordPress Plug-In Directory. Enjoy!

Comments (14)

HCSB Verse of the Day 2 – WordPress Plug-In

I have released version 2 of HCSB Verse of the Day, the WordPress plug-in that provides a verse or passage each day, using the reference provided by BibleGateway.com. I also completed the required files for the WordPress Plug-In Directory, so it can be downloaded from there.

New in this version..

  • New Tag – There is now a tag votd_hcsb() that puts out the heading, the text, the reference, and the credit line all in one. This will simplify the template modification required to implement the plug-in.
  • Custom Tag – There is a separate file where you can specify a separate group of tags, and the votd_hcsb() tag will utilize it instead of its default. This also means that, even if future versions change the default, the custom tag layout will be used.
  • Two Versions – WordPress (and most plug-ins) must be compatible with PHP version 4. However, if your web server is running PHP version 5, there is now a PHP 5 version included. It incorporates the object-oriented enhancements in PHP 5.
  • Options Revamped – Since I initially wrote the plug-in, I’ve learned that WordPress allows an option to be an array. So, to streamline its usage, the options are now an array, and only require one row in the database instead of five. There is also a file to clean up the old options.
  • Bug Fixes – BibleGateway.com changed the way they display multiple passages (ex. “Matthew 1:13, 17-19″); version 2 has a fix that makes that work again.

As always, if you encounter any problems with the plug-in, just let me know and I’ll try to help. Enjoy!

Comments

Daniel’s DropDowns 2.0.1 – WordPress Plug-In

I have released version 2.0.1 of Daniel’s DropDowns, the WordPress plug-in that provides category and archive dropdown template tags. It is available on its page at the WordPress Plug-In Directory.

This was a minor change – the auto-navigating lists added in version 2 needed a slight tweak. There wasn’t a “select category” entry, so one could not navigate to the first item in the list without going somewhere else first. The category dropdown now has this entry, and is consistent with the archive dropdown.

Enjoy!

Comments (6)

Daniel’s DropDowns 2 – WordPress Plug-In

I have released version 2 of my category and archive drop-down plug-in for WordPress. It is hosted at the WordPress Plug-In Directory – you can go get it there. Following are a few of the changes that were made.

  • Both tags now have only 2 parameters – the type of navigation and the text for the link or button. For navigation type, ‘button’ remains the default, and ‘link’ is still available. However, a third option of ‘auto’ has been added, which will render the list as an auto-navigating select box.
  • The CSS parameters for the select and button elements were dropped. How these elements can be specified using CSS is detail in the top-of-plugin comments, along with an example.
  • The usage examples in the comments now have an example of how to put the tag in a template in such a way that, if the plug-in is disabled, the template will still render. This could be done with 1.0, but I didn’t give an example.
  • I added PHP Documentor-style comments to both functions.

Let me know if you have any problems with it, or any ideas for other behavior. Enjoy!

Comments

Adding Tags to a WordPress Theme

WordPress 2.3 introduced tags, but unless you’re using the default theme, your theme (like mine) probably didn’t support them. Nowhere did I find a good example of how to add tags to your theme. Then, I was playing around with the theme switcher on my personal blog, and discovered that the default theme had tag support. I looked at it, and it was amazingly simple.

There is a new template tag called …drumroll… the_tags. It takes three parameters: how to begin the list, how to separate each tag, and how to end the list. The tag does not do any output if a post hasn’t been tagged, so it can safely sit in your theme until you need it to be active.

Here’s how I did it in my personal blog. (Tags will appear on this blog shortly.)

1
<?php the_tags('<div class="tags">Tags &raquo; ', ' &bull; ', '</div>'); ?>

Of course, you could also do it using an unordered list…

1
<?php the_tags('Tags<ul class="tags"><li>', '</li><li>', '</li></ul>'); ?>

Drop some styling for the “tags” class in your theme’s CSS, and you’re good to go!

(Well, not quite. You’ll want to make sure to make the same change in your main index template, single post template, and archive template, so that the tags appear no matter how the user got to the post.)

Comments (1)

Daniel’s DropDowns 1.0 – WordPress Plug-In

I’ve created a plug-in that I’m now using on my personal site to provide the category and archive drop-down lists. It’s called “Daniel’s DropDowns”, and it will create drop-downs with either a link or a button to go to the selection in the drop-down, and a CSS class can be specified for the button and the drop-down box.

daniels_dropdowns.txt – Daniel’s DropDowns 1.0

To install it, download the file, rename it “daniels_dropdowns.php”, and upload it to your /wp-content/plugins directory. Then, enable it, and add the template tags to your theme. (The documentation at the top of the file lists all the template tags provided, and the options that can be passed to them.)

Comments (9)

HCSB Verse of the Day 1.0 – WordPress Plug-In

I have used a hack in the theme of my personal site for a while to obtain the “Verse of the Day” in the Holman Christian Standard Bible (HCSB) version. With things that I’ve learned about plug-ins, I decided to take a stab at creating a plug-in to do this work. That way, if I changed themes, I wouldn’t have to hack the new one they way I’ve hacked the current one.

The fruits of my labor is the new HCSB Verse of the Day plug-in for WordPress. It uses the reference from BibleGateway.com, then gets the text from their regular website. (They do not provide the service, citing copyright restrictions.) How to use the plug-in, along with my justification on copyright grounds, is in the top of the file’s comments. If they’re not clear, certainly post comments here and I’ll address them. (I do plan to submit the plug-in to WordPress.org – but, they require a specific README file format that it will take me a bit to put together.)

votd_hcsb.txt — HCSB Verse of the Day 1.0

To install it, download the file, rename it “votd_hcsb.php”, and upload it to your /wp-content/plugins directory. Then, enable it, and add the template tags to your theme – that’s it!

Comments (1)

WordPress 2.3 About to Drop

Version 2.3 of WordPress, the blogging software I use to produce this blog (as well as the other blogs on my site), will be released later today. I’ll be upgrading these blogs on Monday evening. There have been major pieces of WordPress that have been re-worked, and those are causing some plug-ins to not work correctly. None of my blogs are all that reliant on plug-ins – the “Share This” plug-in is the main one, and it’s been verified in 2.3 already.

There’s lots more information on the WordPress Development Blog – I won’t go into the details here. I’m confident this will be a smooth upgrade. I just wanted to let you know in case some things look strange, I’m on it.

Comments (2)

Incorporating an Akismet Counter Into a WordPress Theme

Akismet is, by far, the most popular anti-spam plug-in for WordPress. (It comes bundled with the download, so that gets it market share. But, it’s also very, very good.) It comes with a counter that can be put into a WordPress theme. It’s attractive, but its light blue color may not integrate well into a given theme.

I went digging around in the source code, and found the line that actually pulls the count from the database. Using this parameter, I was able to integrate a spam count into the sidebar that has a look consistent with the rest of the site.

Here’s the code that’s in use on the theme on this site.

1
2
3
4
5
6
7
8
<li id="spamstats">
	<h2><?php _e('Akismet-Eaten Spam:'); ?></h2>
	<ul>
		<li><a href="http://akismet.com"><?php
			echo(number_format(get_option("akismet_spam_count"))); ?>
			and counting...</a></li>
	</ul>
</li>

Of course, line 5 is the important one – that’s how to get the number, formatted for whatever locale the server is set up for. (On my personal blog, the number is up over 1,400!)

Comments (5)

Posting Source Code in WordPress, Take 2

In my searching, I have found another WordPress source code plugin, called wp-syntax. This one uses GeSHi, the Generic Syntax Highlighter. It features many languages, and is extensible to even more. (If I ever post a COBOL snippet, I’ll probably add COBOL support to it, and contribute it to the codebase.)

To use it, you simply put a pre tag, followed by “lang=[language]“. It will also do line numbering. Of course, with a single “language” parameter, the embedded language will not be highlighted as well. In this case, the previous plug-in works better; although the syntax highlighting has to be done manually, it can handle multiple languages.

Here is what the example from the “Category DropDowns in WordPress” post looks like with lang="php"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
/**
* This creates a list of category links that can be used with a category dropdown
*/
$aCategories = get_all_category_ids();
$iMaxCat = 0;
foreach($aCategories as $iThisCat) {
    if ($iMaxCat < $iThisCat) {
        $iMaxCat = $iThisCat;
    }
}
$iMaxCat++;
?><div style="text-align:center;">
    <form name="categoryform" action="" style="text-align:center;">
    <script type="text/javascript">
        var aLink = new Array(<?php echo($iMaxCat); ?>);
<?php
foreach($aCategories as $iThisCat) {
    echo("aLink[$iThisCat] = \"" . get_category_link</span>($iThisCat) . "\";\n");
} ?>
        function goCat() {
            window.location =
                aLink[document.getElementById('cat')[document.getElementById('cat').selectedIndex].value];
        }
    </script>
    <?php wp_dropdown_categories('class=sidebardropdown&orderby=name&show_count=1&hierarchical=1'); ?>
    <br />
    <button class="sidebarbutton" type="button" style="margin-top:5px;" onclick="goCat();">View Category</button>
    </form>
</div>

And, here’s what it looks like with lang="javascript"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
/**
* This creates a list of category links that can be used with a category dropdown
*/
$aCategories = get_all_category_ids();
$iMaxCat = 0;
foreach($aCategories as $iThisCat) {
    if ($iMaxCat < $iThisCat) {
        $iMaxCat = $iThisCat;
    }
}
$iMaxCat++;
?><div style="text-align:center;">
    <form name="categoryform" action="" style="text-align:center;">
    <script type="text/javascript">
        var aLink = new Array(<?php echo($iMaxCat); ?>);
<?php
foreach($aCategories as $iThisCat) {
    echo("aLink[$iThisCat] = \"" . get_category_link</span>($iThisCat) . "\";\n");
} ?>
        function goCat() {
            window.location =
                aLink[document.getElementById('cat')[document.getElementById('cat').selectedIndex].value];
        }
    </script>
    <?php wp_dropdown_categories('class=sidebardropdown&orderby=name&show_count=1&hierarchical=1'); ?>
    <br />
    <button class="sidebarbutton" type="button" style="margin-top:5px;" onclick="goCat();">View Category</button>
    </form>
</div>

This is another option, and is probably what I’ll use for single-language posts, or posts where the embedded language may not be crucial.

Comments (8)