diff --git a/functions.php b/functions.php index d855348..9803e3c 100644 --- a/functions.php +++ b/functions.php @@ -106,14 +106,46 @@ function wisdom1_customize_register( $wp_customize ) { } add_action( 'customize_register', 'wisdom1_customize_register' ); +/** + * Register Series Taxonomy + */ +function wisdom1_register_taxonomies() { + $labels = array( + 'name' => _x( 'Series', 'taxonomy general name', 'wisdom1' ), + 'singular_name' => _x( 'Series', 'taxonomy singular name', 'wisdom1' ), + 'search_items' => __( 'Search Series', 'wisdom1' ), + 'all_items' => __( 'All Series', 'wisdom1' ), + 'parent_item' => __( 'Parent Series', 'wisdom1' ), + 'parent_item_colon' => __( 'Parent Series:', 'wisdom1' ), + 'edit_item' => __( 'Edit Series', 'wisdom1' ), + 'update_item' => __( 'Update Series', 'wisdom1' ), + 'add_new_item' => __( 'Add New Series', 'wisdom1' ), + 'new_item_name' => __( 'New Series Name', 'wisdom1' ), + 'menu_name' => __( 'Series', 'wisdom1' ), + ); + + $args = array( + 'hierarchical' => true, + 'labels' => $labels, + 'show_ui' => true, + 'show_admin_column' => true, + 'query_var' => true, + 'rewrite' => array( 'slug' => 'series' ), + 'show_in_rest' => true, + ); + + register_taxonomy( 'series', array( 'post' ), $args ); +} +add_action( 'init', 'wisdom1_register_taxonomies' ); + /** * Menu fallback */ function wisdom1_menu_fallback() { echo ''; } diff --git a/header.php b/header.php index 5f2cf07..1e3122d 100644 --- a/header.php +++ b/header.php @@ -6,10 +6,12 @@ + + -> + x-data="{ searchOpen: false }">
+ - + - + + + + diff --git a/style.css b/style.css index ca4bf30..f5d8312 100644 --- a/style.css +++ b/style.css @@ -1,7 +1,7 @@ /* Theme Name: Wisdom1 Description: A modern-classic Christian blog theme for "Wisdom for the Kingdom". -Version: 1.2.2 +Version: 1.3.0 Text Domain: wisdom1 */ @@ -33,7 +33,7 @@ img { display: block; } -/* --- 2. Header & Navigation --- */ +/* --- 2. Header & Navigation (Sticky) --- */ .site-header { padding: var(--wp--preset--spacing--30) 0; background-color: var(--wp--preset--color--base); @@ -52,6 +52,12 @@ img { padding: 0 var(--wp--preset--spacing--50); } +.nav-and-search { + display: flex; + align-items: center; + gap: 30px; +} + .brand-mark { display: flex; align-items: center; @@ -87,8 +93,6 @@ img { list-style: none; margin: 0; padding: 0; - flex-wrap: wrap; - justify-content: center; } .main-navigation a { @@ -99,13 +103,73 @@ img { color: var(--wp--preset--color--primary); text-decoration: none; transition: color 0.3s ease; - white-space: nowrap; } .main-navigation a:hover { color: var(--wp--preset--color--accent); } +/* Search Toggle */ +.search-toggle { + background: none; + border: none; + color: var(--wp--preset--color--primary); + cursor: pointer; + padding: 5px; + display: flex; + align-items: center; + transition: color 0.3s ease; +} + +.search-toggle:hover { + color: var(--wp--preset--color--accent); +} + +/* Search Overlay */ +.search-overlay { + position: absolute; + top: 100%; + left: 0; + right: 0; + background: var(--wp--preset--color--base); + padding: 40px 0; + border-bottom: 1px solid var(--wp--preset--color--border); + box-shadow: 0 10px 30px rgba(0,0,0,0.05); +} + +.search-form-overlay { + display: flex; + gap: 20px; + max-width: 800px; + margin: 0 auto; +} + +.search-field-large { + flex-grow: 1; + background: none; + border: none; + border-bottom: 2px solid var(--wp--preset--color--primary); + padding: 10px 0; + font-size: 24px; + font-family: var(--wp--preset--font-family--header-font); + color: var(--wp--preset--color--primary); +} + +.search-field-large:focus { + outline: none; + border-color: var(--wp--preset--color--accent); +} + +.search-submit-large { + background: var(--wp--preset--color--primary); + color: white; + border: none; + padding: 0 30px; + text-transform: uppercase; + font-weight: 700; + cursor: pointer; +} + /* --- 3. Hero Section (Landing Page) --- */ .hero-section { min-height: 80vh; @@ -121,18 +185,12 @@ img { .hero-section::before { content: ""; position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - background: rgba(244, 241, 234, 0.6); /* Antique Parchment with transparency */ + top: 0; left: 0; right: 0; bottom: 0; + background: rgba(244, 241, 234, 0.6); z-index: 1; } -.hero-content { - position: relative; - z-index: 2; -} +.hero-content { position: relative; z-index: 2; } .hero-headline { font-family: var(--wp--preset--font-family--header-font); @@ -168,30 +226,30 @@ img { color: white; } -/* --- 4. Archive & Category Header --- */ +/* --- 4. Archive & Category Headers --- */ .category-header { background-color: var(--wp--preset--color--primary); color: white; - padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); + padding: var(--wp--preset--spacing--90) var(--wp--preset--spacing--50); text-align: center; } +.series-label { + display: block; + text-transform: uppercase; + letter-spacing: 0.2em; + font-size: 12px; + margin-bottom: 10px; + color: var(--wp--preset--color--accent); +} + .category-title { font-family: var(--wp--preset--font-family--header-font); font-size: clamp(2rem, 6vw, var(--wp--preset--font-size--heading)); margin: 0; } -.category-description { - font-size: clamp(1rem, 3vw, var(--wp--preset--font-size--subheading)); - margin-top: 20px; - opacity: 0.8; - max-width: 800px; - margin-left: auto; - margin-right: auto; -} - -/* --- 5. Insights Grid --- */ +/* --- 5. Insights Grid & Cards --- */ .section-header { text-align: center; margin: var(--wp--preset--spacing--70) 0; @@ -213,7 +271,7 @@ img { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--wp--preset--spacing--50); - margin-bottom: var(--wp--preset--spacing--90); + margin: var(--wp--preset--spacing--70) 0 var(--wp--preset--spacing--90); } .insight-card { @@ -221,13 +279,9 @@ img { padding: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--border); transition: border-color 0.3s ease; - display: flex; - flex-direction: column; } -.insight-card:hover { - border-color: var(--wp--preset--color--hover); -} +.insight-card:hover { border-color: var(--wp--preset--color--hover); } .insight-card .post-thumbnail img { width: 100%; @@ -236,10 +290,16 @@ img { margin-bottom: 20px; } -.insight-card .entry-title a:hover { - color: var(--wp--preset--color--hover); +.insight-card .entry-title a { + color: var(--wp--preset--color--primary); + text-decoration: none; + font-family: var(--wp--preset--font-family--header-font); + font-size: 24px; + line-height: 1.2; } +.insight-card .entry-title a:hover { color: var(--wp--preset--color--hover); } + .post-card-info { display: flex; align-items: center; @@ -250,342 +310,93 @@ img { margin-top: 10px; text-transform: uppercase; font-weight: 700; - letter-spacing: 0.05em; } -.dot-separator { +.dot-separator { color: var(--wp--preset--color--accent); } + +/* --- 6. Series Taxonomy (Steps) --- */ +.series-steps-container { + max-width: 800px; + margin: var(--wp--preset--spacing--70) auto; +} + +.series-step-card { + display: flex; + gap: 30px; + margin-bottom: 40px; + padding-bottom: 40px; + border-bottom: 1px solid var(--wp--preset--color--border); +} + +.step-number { + font-family: var(--wp--preset--font-family--header-font); + font-size: 48px; color: var(--wp--preset--color--accent); + opacity: 0.3; + line-height: 1; } -.entry-meta { - font-size: 12px; - text-transform: uppercase; - color: var(--wp--preset--color--accent); - margin-bottom: 15px; - font-weight: 700; -} - -.entry-summary { - font-size: 15px; - margin-top: 20px; - opacity: 0.8; -} - -/* --- 6. Single Post Layout --- */ -.single-post-layout { - margin-top: var(--wp--preset--spacing--70); -} - +/* --- 7. Single Post Layout --- */ .reading-container { max-width: 680px; margin: 0 auto; font-size: clamp(1.125rem, 4vw, 20px); line-height: 1.8; - padding: 0 var(--wp--preset--spacing--50); -} - -.single-entry-header { - text-align: center; - margin-bottom: var(--wp--preset--spacing--70); - padding: 0 var(--wp--preset--spacing--50); } .single-title { font-family: var(--wp--preset--font-family--header-font); font-size: clamp(2rem, 7vw, 56px); - margin-top: 10px; - line-height: 1.1; -} - -.single-post-thumbnail { - margin-bottom: var(--wp--preset--spacing--70); text-align: center; - width: 100%; + line-height: 1.1; } .single-post-thumbnail img { width: 100%; - height: auto; - aspect-ratio: 21 / 9; /* Cinematic ultra-wide for detail view */ + aspect-ratio: 21 / 9; object-fit: cover; - border-bottom: 1px solid var(--wp--preset--color--border); + margin-bottom: var(--wp--preset--spacing--70); } -/* --- Content Images & Captions --- */ -.entry-content img { - height: auto; - margin-bottom: var(--wp--preset--spacing--30); - border: 1px solid var(--wp--preset--color--border); - padding: 5px; - background: #FFFFFF; -} - -.wp-block-image { - margin-bottom: var(--wp--preset--spacing--50); -} - -figcaption { - font-size: 13px; - text-align: center; - color: var(--wp--preset--color--accent); - font-style: italic; - margin-top: 10px; - font-family: var(--wp--preset--font-family--body-font); -} - -/* Alignments */ -.alignwide { - margin-left: -10%; - margin-right: -10%; - max-width: 120%; -} - -.alignfull { - margin-left: calc(50% - 50vw); - margin-right: calc(50% - 50vw); - width: 100vw; - max-width: 100vw; -} - -@media (max-width: 768px) { - .alignwide, .alignfull { - margin-left: 0; - margin-right: 0; - width: 100%; - } -} - -.entry-date { - margin-left: 10px; - opacity: 0.5; - font-size: 12px; - text-transform: uppercase; -} - -.post-navigation { - border-top: 1px solid var(--wp--preset--color--border); - margin-top: var(--wp--preset--spacing--90); - padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); -} - -.nav-links { - display: flex; - justify-content: space-between; - gap: 20px; - flex-wrap: wrap; -} - -.nav-links div { - flex: 1; - min-width: 200px; -} - -.nav-links a { - color: var(--wp--preset--color--primary); - text-decoration: none; - font-weight: 700; -} - -/* --- 7. Newsletter Strip --- */ +/* --- 8. Newsletter Strip --- */ .newsletter-strip { background-color: var(--wp--preset--color--primary); color: white; - padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); + padding: var(--wp--preset--spacing--70) 0; } .newsletter-content { - max-width: 800px; + max-width: 500px; margin: 0 auto; text-align: center; - display: flex; - flex-direction: column; - align-items: center; - gap: 30px; -} - -.newsletter-text { - font-family: var(--wp--preset--font-family--header-font); - font-size: clamp(1.25rem, 4vw, 24px); } .newsletter-form { display: flex; - width: 100%; - max-width: 500px; border-bottom: 1px solid var(--wp--preset--color--accent); - padding-bottom: 10px; + margin-top: 20px; } .newsletter-input { - background: transparent; - border: none; - color: white; - flex-grow: 1; - padding: 10px; - font-size: 16px; - min-width: 0; + background: none; border: none; color: white; flex-grow: 1; padding: 10px; } -.newsletter-submit { - background: transparent; - border: none; - color: var(--wp--preset--color--accent); - cursor: pointer; - flex-shrink: 0; -} - -/* --- 8. Footer --- */ -.site-footer { - padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--50); - text-align: center; - font-size: 14px; - background-color: var(--wp--preset--color--base); -} - -/* --- 9. Additional Responsiveness --- */ -@media (max-width: 768px) { - .header-container { - flex-direction: column; - gap: 20px; - } - - .main-navigation ul { - gap: 20px; - } - - .site-container { - padding: 0 var(--wp--preset--spacing--30); - } -} - -@media (max-width: 480px) { - .insights-grid { - grid-template-columns: 1fr; - } - - .cta-button { - width: 100%; - text-align: center; - } - - .comment-meta { - flex-direction: column; - align-items: flex-start; - gap: 5px; - } -} - -/* --- 10. Comments Section --- */ +/* --- 9. Comments Section --- */ .comments-area { margin-top: var(--wp--preset--spacing--90); border-top: 1px solid var(--wp--preset--color--border); - padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50); -} - -.comments-title, .comment-reply-title { - font-family: var(--wp--preset--font-family--header-font); - font-size: clamp(1.5rem, 5vw, 32px); - margin-bottom: var(--wp--preset--spacing--50); -} - -.comment-list { - list-style: none; - padding: 0; + padding-top: var(--wp--preset--spacing--70); } .comment-body { - margin-bottom: var(--wp--preset--spacing--50); - padding: var(--wp--preset--spacing--30); - background: #FFFFFF; + background: white; + padding: 30px; border: 1px solid var(--wp--preset--color--border); + margin-bottom: 30px; } -.comment-meta { - display: flex; - align-items: center; - gap: 15px; - margin-bottom: 15px; -} - -.comment-author img { - border-radius: 50%; -} - -.fn { - font-weight: 700; - font-style: normal; -} - -.comment-metadata { - font-size: 11px; - opacity: 0.5; - text-transform: uppercase; -} - -.comment-content { - font-size: 16px; - line-height: 1.6; -} - -.reply { - margin-top: 15px; -} - -.comment-reply-link { - font-size: 12px; - text-transform: uppercase; - font-weight: 700; - color: var(--wp--preset--color--accent); - text-decoration: none; -} - -/* Comment Form */ -#commentform { - display: flex; - flex-direction: column; - gap: 20px; -} - -#commentform label { - display: block; - font-weight: 700; - font-size: 14px; - margin-bottom: 5px; -} - -#commentform input[type="text"], -#commentform input[type="email"], -#commentform textarea { - width: 100%; - padding: 12px; - border: 1px solid var(--wp--preset--color--border); - background: #FFFFFF; - font-family: var(--wp--preset--font-family--body-font); - font-size: 16px; -} - -#commentform textarea { - height: 150px; -} - -#commentform .submit { - align-self: flex-start; - background-color: var(--wp--preset--color--primary); - color: white; - border: none; - padding: 12px 30px; - font-weight: 700; - text-transform: uppercase; - cursor: pointer; - transition: background 0.3s ease; -} - -@media (max-width: 480px) { - #commentform .submit { - width: 100%; - } -} - -#commentform .submit:hover { - background-color: var(--wp--preset--color--accent); +/* --- 10. Responsive --- */ +@media (max-width: 768px) { + .header-container { flex-direction: column; gap: 20px; } + .nav-and-search { width: 100%; justify-content: center; } } diff --git a/taxonomy-series.php b/taxonomy-series.php new file mode 100644 index 0000000..0542d12 --- /dev/null +++ b/taxonomy-series.php @@ -0,0 +1,55 @@ + + +
+
+ Devotional Series +

+ +
+ +
+
+ +
+
+
+ +
> +
+
+
+ ', '' ); ?> +
+ +
+
+
+ +
+
+
+ ' . esc_html__( 'No posts found in this series.', 'wisdom1' ) . '

'; + endif; + ?> +
+
+
+ +