Skip to content

Instantly share code, notes, and snippets.

@bhwebworks
Created May 30, 2012 20:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bhwebworks/2838816 to your computer and use it in GitHub Desktop.
Save bhwebworks/2838816 to your computer and use it in GitHub Desktop.
$prefix = '_bhww_sw_'; // Prefix for all fields
function bhww_sw_sermons_metaboxes( $meta_boxes ) {
global $prefix;
$meta_boxes[] = array(
'id' => 'bhww_sw_metabox',
'title' => 'Sermon Information',
'pages' => array('sw_sermon'), // post type
'context' => 'normal',
'priority' => 'high',
'show_names' => true, // Show field names on the left
'fields' => array(
array(
'name' => 'Sermon Date',
'desc' => 'The date this sermon was preached.',
'id' => $prefix . 'sermon_date',
'type' => 'text_date',
),
array(
'name' => 'Sermon File Name',
'desc' => 'Enter the file name of the sermon audio mp3 file, but <strong>DO NOT</strong> include the file type extension (.mp3).<br />For example: <strong>20120101-jesus-the-light-of-the-world</strong>',
'id' => $prefix . 'sermon_file_name',
'type' => 'text'
),
array(
'name' => 'Scripture Reference (book)',
'desc' => 'The primary Scripture passage for the sermon.',
'id' => $prefix . 'sermon_reference_book',
'type' => 'select',
'options' => array(
array( 'name' => '- Select One -', 'value' => '', ),
array( 'name' => 'Genesis', 'value' => 'Genesis', ),
array( 'name' => 'Exodus', 'value' => 'Exodus', ),
array( 'name' => 'Leviticus', 'value' => 'Leviticus', ),
array( 'name' => 'Numbers', 'value' => 'Numbers', ),
array( 'name' => 'Deuteronomy', 'value' => 'Deuteronomy', ),
array( 'name' => 'Joshua', 'value' => 'Joshua', ),
array( 'name' => 'Judges', 'value' => 'Judges', ),
array( 'name' => 'Ruth', 'value' => 'Ruth', ),
array( 'name' => '1 Samuel', 'value' => '1 Samuel', ),
array( 'name' => '2 Samuel', 'value' => '2 Samuel', ),
array( 'name' => '1 Kings', 'value' => '1 Kings', ),
array( 'name' => '2 Kings', 'value' => '2 Kings', ),
array( 'name' => '1 Chronicles', 'value' => '1 Chronicles', ),
array( 'name' => '2 Chronicles', 'value' => '2 Chronicles', ),
array( 'name' => 'Ezra', 'value' => 'Ezra', ),
array( 'name' => 'Nehemiah', 'value' => 'Nehemiah', ),
array( 'name' => 'Esther', 'value' => 'Esther', ),
array( 'name' => 'Job', 'value' => 'Job', ),
array( 'name' => 'Psalms', 'value' => 'Psalms', ),
array( 'name' => 'Proverbs', 'value' => 'Proverbs', ),
array( 'name' => 'Ecclesiastes', 'value' => 'Ecclesiastes', ),
array( 'name' => 'Song of Solomon', 'value' => 'Song of Solomon', ),
array( 'name' => 'Isaiah', 'value' => 'Isaiah', ),
array( 'name' => 'Jeremiah', 'value' => 'Jeremiah', ),
array( 'name' => 'Lamentations', 'value' => 'Lamentations', ),
array( 'name' => 'Ezekiel', 'value' => 'Ezekiel', ),
array( 'name' => 'Daniel', 'value' => 'Daniel', ),
array( 'name' => 'Hosea', 'value' => 'Hosea', ),
array( 'name' => 'Joel', 'value' => 'Joel', ),
array( 'name' => 'Amos', 'value' => 'Amos', ),
array( 'name' => 'Obadiah', 'value' => 'Obadiah', ),
array( 'name' => 'Jonah', 'value' => 'Jonah', ),
array( 'name' => 'Micah', 'value' => 'Micah', ),
array( 'name' => 'Nahum', 'value' => 'Nahum', ),
array( 'name' => 'Habakkuk', 'value' => 'Habakkuk', ),
array( 'name' => 'Zephaniah', 'value' => 'Zephaniah', ),
array( 'name' => 'Haggai', 'value' => 'Haggai', ),
array( 'name' => 'Zechariah', 'value' => 'Zechariah', ),
array( 'name' => 'Malachi', 'value' => 'Malachi', ),
array( 'name' => 'Matthew', 'value' => 'Matthew', ),
array( 'name' => 'Mark', 'value' => 'Mark', ),
array( 'name' => 'Luke', 'value' => 'Luke', ),
array( 'name' => 'John', 'value' => 'John', ),
array( 'name' => 'Acts', 'value' => 'Acts', ),
array( 'name' => 'Romans', 'value' => 'Romans', ),
array( 'name' => '1 Corinthians', 'value' => '1 Corinthians', ),
array( 'name' => '2 Corinthians', 'value' => '2 Corinthians', ),
array( 'name' => 'Galatians', 'value' => 'Galatians', ),
array( 'name' => 'Ephesians', 'value' => 'Ephesians', ),
array( 'name' => 'Philippians', 'value' => 'Philippians', ),
array( 'name' => 'Colossians', 'value' => 'Colossians', ),
array( 'name' => '1 Thessalonians', 'value' => '1 Thessalonians', ),
array( 'name' => '2 Thessalonians', 'value' => '2 Thessalonians', ),
array( 'name' => '1 Timothy', 'value' => '1 Timothy', ),
array( 'name' => '2 Timothy', 'value' => '2 Timothy', ),
array( 'name' => 'Titus', 'value' => 'Titus', ),
array( 'name' => 'Philemon', 'value' => 'Philemon', ),
array( 'name' => 'Hebrews', 'value' => 'Hebrews', ),
array( 'name' => 'James', 'value' => 'James', ),
array( 'name' => '1 Peter', 'value' => '1 Peter', ),
array( 'name' => '2 Peter', 'value' => '2 Peter', ),
array( 'name' => '1 John', 'value' => '1 John', ),
array( 'name' => '2 John', 'value' => '2 John', ),
array( 'name' => '3 John', 'value' => '3 John', ),
array( 'name' => 'Jude', 'value' => 'Jude', ),
array( 'name' => 'Revelation', 'value' => 'Revelation', ),
),
),
array(
'name' => 'Scripture Reference (chapter and verse)',
'desc' => '<br />After you\'ve chosen a book title in the previous field, enter a chapter <strong>(12)</strong>, chapter and verse <strong>(3:16)</strong>, chapter and verses <strong>(4:1-15)</strong>, chapters and verses <strong>(8:12 - 9:15)</strong>, or just a verse for those books without chapters.',
'id' => $prefix . 'sermon_reference_chapter_verse',
'type' => 'text_medium',
),
array(
'name' => 'DO NOT use the ESV',
'desc' => 'If you DO NOT want to automatically include Scripture text from the ESV, check this box.<br />
<strong>Notes:</strong><br />
1. For the ESV text to display automatically:<br />
<p style="padding-left:20px;">1. The "Bible Text" plugin must be installed and activated.<br />
2. You must select a "Scripture Reference (book)" and enter a "Scripture Reference (chapter and verse)" in the fields above.<br />
3. Leave this box unchecked.</p>
2. If you prefer to enter your own Scripture passage, or you\'d like to enter additional passages, use the post editor (above).',
'id' => $prefix . 'sermon_no_esv',
'type' => 'checkbox',
),
),
);
return $meta_boxes;
}
add_filter( 'cmb_meta_boxes', 'bhww_sw_sermons_metaboxes' );
// Initialize the metabox class
add_action( 'init', 'bhww_sw_initialize_cmb_meta_boxes', 9999 );
function bhww_sw_initialize_cmb_meta_boxes() {
if ( !class_exists( 'cmb_Meta_Box' ) ) {
require_once( 'lib/metabox/init.php' );
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment