Code4Lib Journal WordPress Customizations

Revision as of 13:49, 9 September 2008 by 147.226.143.210 (Talk) (Workflow)

Revision as of 13:49, 9 September 2008 by 147.226.143.210 (Talk) (Workflow)

Plugins

Anti-Spam

Akimset
Filters out spam-link comments based on their content
reCAPTCHA
Requires users to copy a distorted word before they can comment

Metadata

COinS Quicktags Button
In the non-WYSIWYG editor, can be used to build a basic COinS tag. This has been abandoned in favor of the generator at http://generator.ocoins.info/.
unAPI Server
Provides information about articles. Useful for Zotero users.

Presentation

SyntaxHighlighter
Makes code pretty.
C4LJ Custom the_author()
Replaces the text returned by the_author() with the value of the "author" custom field. Necessary since articles are entered by their editors, but we want author information to appear on the articles and in the syndication feeds.

URLs

C4LJ Remove Parents
A customization of http://wordpress.org/extend/plugins/remove-parents/. Prettifies category URLs so that issues appear at http://journal.code4lib.org/issues/issue1 instead of http://journal.code4lib.org/issues/issues/issue1.
FeedBurner FeedSmith
Redirects the main feed and the general comments feed to FeedBurner

Workflow

Issue Manager
Enables one-click publishing of new issues, and prevents articles from being published until their associated issue is published.
Role Manager
Allows creation of custom roles and editing of roles' permissions. Used to create the Reviewer role, which can read Private articles, so that authors can see their articles before publication, and to prevent editors from publishing articles on accident.

Upgrading

Save the <div>s

Edit wp-includes/js/tinymce/tiny_mce_config.php, around line 25.

$valid_elements = '-strong/-b[*],-em/-i[*],-font[*],-ul[*],-ol[*],-li[*],*[*]';

"Submit for Review"

Edit wp-admin/includes/post.php. After line 71 (in version 2.3.3) add:

// START FIX
if ('publish' == $_POST['post_status'] && !current_user_can( 'publish_posts' )) {
	$post =& get_post( $post_ID );
	if ('publish' != $post->post_status)
		$_POST['post_status'] = 'pending';
}
// END FIX