Make WordPress Themes

Changeset 354930


Ignore:
Timestamp:
10/22/2026 04:31:01 AM (4 hours ago)
Author:
themedropbox
Message:

New version of letterra - 1.0.3

Location:
letterra/1.0.3
Files:
10 deleted
30 edited
1 copied

Legend:

Unmodified
Added
Removed
  • letterra/1.0.3/assets/css/style.css

    r350985 r354930  
    120120}
    121121
    122 .custom-container {@apply container mx-auto px-4 md:px-6 py-10;}
    123 
    124 .custom-container.with-sidebar {@apply grid grid-cols-1 lg:grid-cols-3 2xl:grid-cols-4 gap-6;}
     122.custom-container {@apply container lg:max-w-5xl mx-auto px-4 md:px-6 py-10;}
     123
     124/* .custom-container.with-sidebar {@apply grid grid-cols-1;} */
    125125
    126126.container-not-found {@apply custom-container h-full px-6 py-20 flex items-center justify-center;}
    … …  
    138138
    139139.button {
    140   @apply inline-block px-6 py-3 bg-grey hover:bg-pink cursor-pointer text-white rounded-full hover:bg-opacity-90 transition-all duration-300 ease-in-out mt-4;
     140  @apply text-xs inline-block px-4 py-2 bg-grey hover:bg-pink cursor-pointer text-white rounded hover:bg-opacity-90 transition-all duration-300 ease-in-out mt-4;
    141141}
    142142
    … …  
    152152}
    153153
    154 .floating-icon {
    155   @apply absolute right-4 w-10 h-10 flex items-center justify-center rounded-full bg-pink text-white shadow-lg;
    156 }
    157 
    158 /* Post Floating Icon */
    159 .floating-icon-top {@apply -top-5;}
    160 
    161 .floating-icon-bottom {@apply bottom-4;}
    162 
    163154/****************************************************************************************/
    164155
    … …  
    166157header {@apply py-10 bg-white relative w-full !border-t-0 !border-l-0 !border-r-0 !px-0;}
    167158
    168 .header-inner {@apply flex flex-col xxs:flex-row gap-4 justify-between lg:justify-normal xxs:items-center;}
     159.header-inner {@apply flex flex-col justify-between lg:justify-normal;}
    169160
    170161#menu-header-menu,
    … …  
    174165
    175166.navbar-wrap {
    176   @apply shadow-lg lg:shadow-none fixed lg:relative -translate-x-full lg:translate-x-0 w-64 lg:w-auto h-screen lg:h-auto transition-all duration-300 ease-in-out bg-white top-0 left-0 lg:flex flex-1 items-center basis-0 py-5 lg:p-0 z-50;
     167  @apply border-y border-gray-200 shadow-lg lg:shadow-none fixed lg:relative -translate-x-full lg:translate-x-0 w-64 lg:w-auto h-screen lg:h-auto transition-all duration-300 ease-in-out bg-white top-0 left-0 lg:flex flex-1 items-center justify-center basis-0 py-5 lg:p-0 z-50;
    177168}
    178169
    … …  
    188179
    189180.navbar-wrap .menu ul,
    190 .navbar-wrap .menu {@apply lg:flex lg:flex-wrap lg:ms-12;}
     181.navbar-wrap .menu {@apply lg:flex lg:flex-wrap;}
    191182
    192183.navbar-wrap .menu li.current_page_parent > a,
    … …  
    214205.navbar-wrap .menu li.menu-item-has-children > a {@apply lg:pe-10;}
    215206.navbar-wrap .menu > ul > li > a,
    216 .navbar-wrap .menu > li > a {@apply py-2 lg:py-6;}
     207.navbar-wrap .menu > li > a {@apply py-2 lg:py-4;}
    217208
    218209.navbar-wrap .menu li.menu-item-has-children {@apply relative;}
    … …  
    237228
    238229.navbar-wrap .menu li.menu-item-has-children ul.sub-menu li a {@apply w-full lg:px-5;}
    239 
     230.navbar-wrap .menu ul.sub-menu > li {width:100%;}
    240231.navbar-wrap .menu > li.menu-item-has-children > ul.sub-menu > li > ul.sub-menu {
    241232  @apply left-full top-0
    … …  
    251242
    252243.header-buttons {@apply flex lg:hidden flex-wrap items-center gap-4;}
    253 /* #open-menu {@apply flex lg:hidden;} */
    254 /* .main-post {@apply bottom-12 inset-x-12 absolute z-10;} */
    255244/****************************************************************************************/
    256245
    257246/* Main Post */
    258 .main-post-wrapper {@apply grid grid-cols-1 md:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-3 gap-4;}
    259 .author-posts-wrapper {@apply grid md:grid-cols-2 xl:grid-cols-1 gap-4;}
    260 .main-post-wrapper-without-sidebar {@apply grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4 gap-4;}
    261 
    262 .main-post-image-wrapper {@apply relative max-h-60 h-60 overflow-hidden;}
     247.main-post-wrapper {@apply grid grid-cols-1 md:grid-cols-2 xl:grid-cols-2 2xl:grid-cols-1 gap-4;}
     248.author-posts-wrapper {@apply grid md:grid-cols-1 xl:grid-cols-1 gap-4;}
     249.author-meta-wrapper {@apply flex gap-2 items-center;}
     250.main-post-wrapper-without-sidebar {@apply grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-1 gap-4;}
     251
     252.main-post-image-wrapper {@apply relative max-h-64 w-72 h-64 overflow-hidden;}
    263253
    264254.post-shadow {@apply bg-white rounded-xl shadow-md hover:shadow-xl transition-all duration-300 ease-in-out overflow-hidden;}
    … …  
    266256.post-title {@apply text-xl font-bold text-grey lowercase first-letter:capitalize mb-2 leading-snug group-hover:text-pink transition-all duration-300 ease-in-out break-words;}
    267257
    268 .main-post-category {@apply flex flex-wrap gap-1;}
     258.main-post-category {@apply flex flex-wrap gap-x-2;}
    269259.main-post-category.with-tags {@apply mt-2;}
    270260
    … …  
    276266
    277267.read-more {@apply text-grey font-medium inline-block break-words;}
    278 
    279 /* .wrap {@apply relative rounded-xl overflow-hidden; box-shadow: 0 8px 20px rgb(32 54 86 / 0.3);} */
    280268
    281269/* Post Pagination */
    … …  
    302290
    303291.single-post-title {@apply text-2xl lg:text-4xl font-bold text-grey mb-4 leading-snug lowercase first-letter:capitalize break-words;}
    304 .single-post-category {@apply flex flex-wrap gap-2 pb-6;}
    305 
    306 .single-post-category-title {@apply bg-pink text-white text-sm px-4 py-1 rounded-full;}
    307292
    308293.single-post-share-icons {@apply grid grid-cols-2 items-start py-10 border-t border-gray-200;}
    … …  
    314299.post-description p {@apply mb-6 last:mb-0;}
    315300
    316 .post-description {@apply text-gray-500 text-sm py-10 leading-relaxed;}
     301.post-description {@apply text-gray-500 text-sm pb-10 leading-relaxed;}
    317302
    318303.post-description blockquote {
    … …  
    364349
    365350/* Single Page Pagination */
    366 .single-post .nav-links {@apply flex-col sm:flex-row justify-between gap-6 mt-0 mb-0;}
     351.single-post .nav-links {@apply flex-col sm:flex-row items-center justify-between gap-6 mt-0 mb-0;}
    367352
    368353.single-post .nav-links .nav-previous a,
    369354.single-post .nav-links .nav-next a {
    370   @apply rounded-lg bg-white border border-gray-200 inline-block p-8 text-lg leading-6 text-grey font-bold hover:text-pink transition-all duration-300 ease-in-out w-full sm:max-w-96 sm:min-w-96 h-full;
     355  @apply bg-white inline-block text-lg leading-6 text-grey font-bold hover:text-pink transition-all duration-300 ease-in-out w-full sm:max-w-96 sm:min-w-96 h-full;
    371356}
    372357
    373358.single-post .nav-links .nav-next {@apply text-end;}
    374359
    375 .single-post-pagination {@apply flex justify-between items-center my-10 border-y py-10;}
     360.single-post-pagination {@apply flex justify-between items-center my-10 border-t py-10;}
    376361
    377362.single-post-pagination .pagination-text {@apply text-gray-500 text-sm font-normal inline-block mb-2;}
    378363
    379 .single-post-pagination .pagination-link {@apply block font-bold break-words;}
    380 
    381 .post-media {@apply mt-10;}
     364.single-post-pagination .pagination-link {@apply block font-bold break-words text-base;}
     365
     366.post-media {@apply mb-10;}
    382367
    383368.post-media img {@apply w-full rounded-lg;}
    … …  
    415400
    416401.required-field-message .required {@apply text-red-400;}
    417 
     402.comment-form {
     403  @apply flex flex-wrap flex-col gap-4;
     404}
    418405#commentform label {@apply text-sm font-bold text-grey;}
    419406
    … …  
    431418
    432419.comment-respond {@apply mt-12;}
     420
    433421/****************************************************************************************/
    434422
    … …  
    438426.archive-main-wrap p {@apply text-sm text-gray-500 mt-2;}
    439427
    440 .archive-wrapper {@apply text-xl font-bold text-gray-800 leading-snug flex flex-col-reverse sm:flex-row gap-4 sm:items-center justify-between flex-wrap;}
    441428
    442429.archive-wrapper .archive-selected-category {@apply inline-block px-3 py-1.5 rounded-full border border-gray-200 text-gray-500 text-sm font-normal ms-2;}
    443430
    444 .archive-wrapper-wtih-filter {@apply justify-between;}
    445 
    446 .tags-wrapper {@apply my-10 flex flex-wrap gap-x-2 gap-y-2;}
    447 
    448 .category-wrapper {@apply my-10;}
     431.tags-wrapper {@apply flex flex-wrap items-center justify-center gap-x-2 gap-y-2;}
     432
     433.category-wrapper {@apply mt-0 mb-2;}
    449434.category-list .category-wrapper {
    450435  @apply grid grid-cols-4 gap-2;
    … …  
    463448  @apply text-grey text-xs font-medium lowercase inline-block first-letter:capitalize underline hover:text-pink;
    464449}
    465 .clear-all {@apply flex items-center gap-1 no-underline text-sm text-grey hover:text-pink transition-all;}
    466450
    467451/******************************************************************************************************/
    … …  
    474458.author-link {@apply hover:text-pink transition;}
    475459
    476 .author-date {@apply text-tiny text-gray-500;}
    477 
    478 .author-details-wrapper {@apply p-6 bg-author rounded-lg flex flex-col sm:flex-row gap-2 sm:gap-5 items-start;}
    479 
    480 .author-details-wrapper .author-image-link {@apply inline-block w-16 h-16 md:w-24 md:h-24 rounded-full overflow-hidden;}
     460.author-date {@apply text-xs font-medium text-gray-500;}
     461
     462.author-details-wrapper {@apply flex flex-col text-center items-center;}
     463
     464.author-details-wrapper .author-image-link {@apply inline-block w-16 h-16 rounded-full overflow-hidden;}
    481465
    482466.author-details-wrapper .author-info {@apply text-xl font-bold text-grey capitalize;}
    … …  
    486470.author-details-wrapper .author-bio {@apply text-gray-500 text-sm mt-2 leading-relaxed;}
    487471.author-details-wrapper .social-icons {@apply mt-3;}
    488 .author-post-wrapper {@apply flex flex-col xl:flex-row flex-wrap xl:py-6 xl:px-6 xl:gap-6;}
    489 
    490 .author-post-image {@apply relative max-h-60 h-60 xl:w-72 xl:rounded-lg overflow-hidden;}
    491 
    492 .author-post-content {@apply relative p-6 xl:p-0 w-full xl:w-[calc(100%-312px)];}
     472.author-post-wrapper {@apply flex flex-wrap;}
     473
     474
     475.author-post-content {@apply relative py-4 px-6 w-full xl:w-[calc(100%-288px)];}
    493476
    494477/********************************************************************************************************/
    … …  
    542525/**********************************************************************************************************************************************/
    543526
    544 /* Plugin Css */
    545 /* Sidebar About Content Css */
    546 .sidebar-area .sidebar {
    547   @apply lg:sticky lg:top-[108px];
    548 }
    549 .sidebar-area {
    550   @apply w-full col-span-1 lg:col-span-1 order-1 lg:order-2;
    551 }
    552 .sidebar .sidebar-wrapper {
    553   @apply py-6 sm:py-8 px-4 sm:px-6 bg-white border border-gray-200 rounded-xl mb-5;
    554 }
    555 .sidebar .sidebar-about-wrapper > div {@apply min-h-36;}
    556 .sidebar .sidebar_about_logo {
    557   @apply flex flex-col text-center gap-6 relative;
    558 }
    559 .sidebar .sidebar_about_logo ul {
    560   @apply justify-center;
    561 }
    562 .sidebar .sidebar_about_logo img {
    563   @apply mx-auto;
    564 }
     527
    565528.sidebar-tags-wrapper ul li.active-tag a,
     529.sidebar-categories-wrapper .category-wrapper {
     530  @apply flex flex-wrap items-center justify-center gap-2;
     531}
     532.sidebar-categories-wrapper ul li.active-category {
     533  @apply border-pink;
     534}
    566535.sidebar-categories-wrapper ul li.active-category a {
    567536  @apply text-pink;
    … …  
    571540}
    572541.sidebar-title {
    573   @apply text-center mb-4 mt-0;
     542  @apply text-center mt-0 text-tiny font-medium text-gray-500 mb-2;
    574543}
    575544.archive-main-wrap .sidebar-title {
    … …  
    580549}
    581550.archive-main-wrap .sidebar-title-border {@apply justify-start;}
    582 .sidebar-about-map {
    583   @apply w-auto absolute inset-x-0 z-0 h-full max-h-40 mx-auto;
    584 }
    585551.category-title-wrapper {
    586   @apply flex items-center justify-between gap-2 mb-4;
     552  @apply flex items-center justify-center gap-2 mb-4;
    587553}
    588554.category-title-wrapper .sidebar-title {@apply mb-0;}
    589555.topics-wrapper {
    590   @apply flex items-center justify-between py-3 last:pb-0 relative after:content-[''] after:block after:h-[1px] after:w-full after:bg-fade-right after:top-0 after:absolute;
    591 }
    592 .topics-wrapper .topics {
    593   @apply text-grey text-sm font-semibold hover:text-pink relative pl-9;
    594 }
    595 .topics-wrapper .topics-icon {
    596   @apply absolute left-0 top-1 text-xs text-pink;
    597 }
    598 .topics-wrapper .topics-count {
    599   @apply text-tiny text-gray-500;
     556  @apply inline-block px-2 py-1 rounded border border-gray-200 text-gray-500 text-xs font-medium hover:border-grey hover:text-grey transition-all duration-300 ease-in-out;
    600557}
    601558.sidebar-about-content {
    … …  
    604561/****************************************************************************************/
    605562/* Popular Post Css */
    606 .popular-post-wrapper {
    607   @apply relative flex gap-4 xl:gap-6 py-3 sm:py-6 last:pb-0 after:content-[''] after:block after:h-[1px] after:w-full after:bg-fade-left after:bottom-0 after:absolute last:after:hidden;
    608 }
    609 .popular-post-image {@apply w-12 h-12 xl:w-16 xl:h-16 rounded-full overflow-hidden shrink-0;}
    610 
    611 .popular-post-content-wrapper {@apply text-sm text-grey;}
    612 
    613 .popular-post-title {
    614   @apply block lowercase first-letter:capitalize font-semibold leading-5 group-hover:text-pink transition-all duration-300 ease-in-out;
    615 }
    616563.about-title {
    617   @apply m-0;
    618 }
     564  @apply m-0 text-lg uppercase font-bold text-grey;
     565}
  • letterra/1.0.3/assets/css/style.min.css

    r350985 r354930  
    595595}
    596596
    597 .visible {
    598   visibility: visible;
    599 }
    600 
    601597.collapse {
    602598  visibility: collapse;
    603 }
    604 
    605 .static {
    606   position: static;
    607599}
    608600
    … …  
    673665}
    674666
     667.mb-2 {
     668  margin-bottom: 0.5rem;
     669}
     670
    675671.mb-4 {
    676672  margin-bottom: 1rem;
    … …  
    685681}
    686682
    687 .mt-2 {
    688   margin-top: 0.5rem;
     683.mt-1 {
     684  margin-top: 0.25rem;
    689685}
    690686
    … …  
    709705}
    710706
    711 .grid {
    712   display: grid;
    713 }
    714 
    715707.hidden {
    716708  display: none;
    717709}
    718710
    719 .h-8 {
    720   height: 2rem;
     711.\!size-24 {
     712  width: 6rem !important;
     713  height: 6rem !important;
     714}
     715
     716.h-6 {
     717  height: 1.5rem;
    721718}
    722719
    … …  
    725722}
    726723
    727 .h-auto {
    728   height: auto;
    729 }
    730 
    731 .min-h-36 {
    732   min-height: 9rem;
    733 }
    734 
    735 .w-44 {
    736   width: 11rem;
     724.w-\[calc\(100\%-288px\)\] {
     725  width: calc(100% - 288px);
    737726}
    738727
    … …  
    765754}
    766755
    767 .\!transform {
    768   transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
    769 }
    770 
    771 .transform {
    772   transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    773 }
    774 
    775756.resize {
    776757  resize: both;
    777758}
    778759
    779 .flex-row-reverse {
    780   flex-direction: row-reverse;
     760.\!flex-row {
     761  flex-direction: row !important;
    781762}
    782763
    … …  
    803784.justify-between {
    804785  justify-content: space-between;
     786}
     787
     788.\!gap-4 {
     789  gap: 1rem !important;
    805790}
    806791
    … …  
    827812}
    828813
     814.\!rounded {
     815  border-radius: 0.25rem !important;
     816}
     817
    829818.rounded-full {
    830819  border-radius: 9999px;
    … …  
    858847}
    859848
     849.bg-author {
     850  --tw-bg-opacity: 1;
     851  background-color: rgb(241 248 255 / var(--tw-bg-opacity, 1));
     852}
     853
    860854.bg-white {
    861855  --tw-bg-opacity: 1;
    … …  
    868862}
    869863
     864.\!p-6 {
     865  padding: 1.5rem !important;
     866}
     867
    870868.p-6 {
    871869  padding: 1.5rem;
    … …  
    877875}
    878876
     877.\!py-6 {
     878  padding-top: 1.5rem !important;
     879  padding-bottom: 1.5rem !important;
     880}
     881
    879882.px-5 {
    880883  padding-left: 1.25rem;
    … …  
    882885}
    883886
     887.px-6 {
     888  padding-left: 1.5rem;
     889  padding-right: 1.5rem;
     890}
     891
    884892.py-10 {
    885893  padding-top: 2.5rem;
    … …  
    892900}
    893901
     902.py-4 {
     903  padding-top: 1rem;
     904  padding-bottom: 1rem;
     905}
     906
    894907.py-6 {
    895908  padding-top: 1.5rem;
    … …  
    905918}
    906919
    907 .pt-4 {
    908   padding-top: 1rem;
     920.pb-5 {
     921  padding-bottom: 1.25rem;
     922}
     923
     924.pt-0 {
     925  padding-top: 0px;
    909926}
    910927
    … …  
    913930}
    914931
     932.\!text-start {
     933  text-align: start !important;
     934}
     935
    915936.text-start {
    916937  text-align: start;
     938}
     939
     940.text-3xl {
     941  font-size: 1.875rem;
     942  line-height: 2.25rem;
    917943}
    918944
    … …  
    927953}
    928954
    929 .text-\[10px\] {
    930   font-size: 10px;
    931 }
    932 
    933955.text-lg {
    934956  font-size: 1.125rem;
    … …  
    941963}
    942964
     965.text-xl {
     966  font-size: 1.25rem;
     967  line-height: 1.75rem;
     968}
     969
    943970.text-xs {
    944971  font-size: 0.75rem;
    … …  
    9811008}
    9821009
    983 .shadow {
    984   --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    985   --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    986   box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    987 }
    988 
    989 .blur {
    990   --tw-blur: blur(8px);
    991   filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    992 }
    993 
    994 .invert {
    995   --tw-invert: invert(100%);
    996   filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    997 }
    998 
    999 .filter {
    1000   filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    1001 }
    1002 
    1003 .transition {
    1004   transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    1005   transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    1006   transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    1007   transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    1008   transition-duration: 150ms;
     1010.text-pink {
     1011  --tw-text-opacity: 1;
     1012  color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    10091013}
    10101014
    … …  
    12791283}
    12801284
    1281 .custom-container.with-sidebar {
    1282   display: grid;
    1283   grid-template-columns: repeat(1, minmax(0, 1fr));
    1284   gap: 1.5rem;
    1285 }
    1286 
    12871285@media (min-width: 1024px) {
    1288   .custom-container.with-sidebar {
    1289     grid-template-columns: repeat(3, minmax(0, 1fr));
    1290   }
    1291 }
    1292 
    1293 @media (min-width: 1536px) {
    1294   .custom-container.with-sidebar {
    1295     grid-template-columns: repeat(4, minmax(0, 1fr));
    1296   }
    1297 }
     1286  .custom-container {
     1287    max-width: 64rem;
     1288  }
     1289}
     1290
     1291/* .custom-container.with-sidebar {@apply grid grid-cols-1;} */
    12981292
    12991293.container-not-found {
    … …  
    13611355}
    13621356
    1363 .container-not-found.with-sidebar {
    1364   display: grid;
    1365   grid-template-columns: repeat(1, minmax(0, 1fr));
    1366   gap: 1.5rem;
    1367 }
    1368 
    13691357@media (min-width: 1024px) {
    1370   .container-not-found.with-sidebar {
    1371     grid-template-columns: repeat(3, minmax(0, 1fr));
    1372   }
    1373 }
    1374 
    1375 @media (min-width: 1536px) {
    1376   .container-not-found.with-sidebar {
    1377     grid-template-columns: repeat(4, minmax(0, 1fr));
     1358  .container-not-found {
     1359    max-width: 64rem;
    13781360  }
    13791361}
    … …  
    14301412  display: inline-block;
    14311413  cursor: pointer;
    1432   border-radius: 9999px;
     1414  border-radius: 0.25rem;
    14331415  --tw-bg-opacity: 1;
    14341416  background-color: rgb(32 54 86 / var(--tw-bg-opacity, 1));
    1435   padding-left: 1.5rem;
    1436   padding-right: 1.5rem;
    1437   padding-top: 0.75rem;
    1438   padding-bottom: 0.75rem;
     1417  padding-left: 1rem;
     1418  padding-right: 1rem;
     1419  padding-top: 0.5rem;
     1420  padding-bottom: 0.5rem;
     1421  font-size: 0.75rem;
     1422  line-height: 1rem;
    14391423  --tw-text-opacity: 1;
    14401424  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    … …  
    14981482  --tw-scale-y: 1.1;
    14991483  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    1500 }
    1501 
    1502 .floating-icon {
    1503   position: absolute;
    1504   right: 1rem;
    1505   display: flex;
    1506   height: 2.5rem;
    1507   width: 2.5rem;
    1508   align-items: center;
    1509   justify-content: center;
    1510   border-radius: 9999px;
    1511   --tw-bg-opacity: 1;
    1512   background-color: rgb(85 25 35 / var(--tw-bg-opacity, 1));
    1513   --tw-text-opacity: 1;
    1514   color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    1515   --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    1516   --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    1517   box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    1518 }
    1519 
    1520 /* Post Floating Icon */
    1521 
    1522 .floating-icon-top {
    1523   top: -1.25rem;
    1524 }
    1525 
    1526 .floating-icon-bottom {
    1527   bottom: 1rem;
    15281484}
    15291485
    … …  
    15501506  flex-direction: column;
    15511507  justify-content: space-between;
    1552   gap: 1rem;
    1553 }
    1554 
    1555 @media (min-width: 420px) {
    1556   .header-inner {
    1557     flex-direction: row;
    1558     align-items: center;
    1559   }
    15601508}
    15611509
    … …  
    16021550  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    16031551  align-items: center;
     1552  justify-content: center;
     1553  border-top-width: 1px;
     1554  border-bottom-width: 1px;
     1555  --tw-border-opacity: 1;
     1556  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    16041557  --tw-bg-opacity: 1;
    16051558  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    … …  
    16851638  .navbar-wrap .menu ul,
    16861639.navbar-wrap .menu {
    1687     margin-inline-start: 3rem;
    16881640    display: flex;
    16891641    flex-wrap: wrap;
    … …  
    17531705  .navbar-wrap .menu > ul > li > a,
    17541706.navbar-wrap .menu > li > a {
    1755     padding-top: 1.5rem;
    1756     padding-bottom: 1.5rem;
     1707    padding-top: 1rem;
     1708    padding-bottom: 1rem;
    17571709  }
    17581710}
    … …  
    18261778}
    18271779
     1780.navbar-wrap .menu ul.sub-menu > li {
     1781  width:100%;
     1782}
     1783
    18281784.navbar-wrap .menu > li.menu-item-has-children > ul.sub-menu > li > ul.sub-menu {
    18291785  left: 100%;
    … …  
    18761832}
    18771833
    1878 /* #open-menu {@apply flex lg:hidden;} */
    1879 
    1880 /* .main-post {@apply bottom-12 inset-x-12 absolute z-10;} */
    1881 
    18821834/****************************************************************************************/
    18831835
    … …  
    19041856@media (min-width: 1536px) {
    19051857  .main-post-wrapper {
    1906     grid-template-columns: repeat(3, minmax(0, 1fr));
     1858    grid-template-columns: repeat(1, minmax(0, 1fr));
    19071859  }
    19081860}
    … …  
    19151867@media (min-width: 768px) {
    19161868  .author-posts-wrapper {
    1917     grid-template-columns: repeat(2, minmax(0, 1fr));
     1869    grid-template-columns: repeat(1, minmax(0, 1fr));
    19181870  }
    19191871}
    … …  
    19231875    grid-template-columns: repeat(1, minmax(0, 1fr));
    19241876  }
     1877}
     1878
     1879.author-meta-wrapper {
     1880  display: flex;
     1881  align-items: center;
     1882  gap: 0.5rem;
    19251883}
    19261884
    … …  
    19451903@media (min-width: 1536px) {
    19461904  .main-post-wrapper-without-sidebar {
    1947     grid-template-columns: repeat(4, minmax(0, 1fr));
     1905    grid-template-columns: repeat(1, minmax(0, 1fr));
    19481906  }
    19491907}
    … …  
    19511909.main-post-image-wrapper {
    19521910  position: relative;
    1953   height: 15rem;
    1954   max-height: 15rem;
     1911  height: 16rem;
     1912  max-height: 16rem;
     1913  width: 18rem;
    19551914  overflow: hidden;
    19561915}
    … …  
    20021961  display: flex;
    20031962  flex-wrap: wrap;
    2004   gap: 0.25rem;
     1963  -moz-column-gap: 0.5rem;
     1964       column-gap: 0.5rem;
    20051965}
    20061966
    … …  
    20482008  color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    20492009}
    2050 
    2051 /* .wrap {@apply relative rounded-xl overflow-hidden; box-shadow: 0 8px 20px rgb(32 54 86 / 0.3);} */
    20522010
    20532011/* Post Pagination */
    … …  
    21582116}
    21592117
    2160 .single-post-category {
    2161   display: flex;
    2162   flex-wrap: wrap;
    2163   gap: 0.5rem;
    2164   padding-bottom: 1.5rem;
    2165 }
    2166 
    2167 .single-post-category-title {
    2168   border-radius: 9999px;
    2169   --tw-bg-opacity: 1;
    2170   background-color: rgb(85 25 35 / var(--tw-bg-opacity, 1));
    2171   padding-left: 1rem;
    2172   padding-right: 1rem;
    2173   padding-top: 0.25rem;
    2174   padding-bottom: 0.25rem;
    2175   font-size: 0.875rem;
    2176   line-height: 1.25rem;
    2177   --tw-text-opacity: 1;
    2178   color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    2179 }
    2180 
    21812118.single-post-share-icons {
    21822119  display: grid;
    … …  
    22142151
    22152152.post-description {
    2216   padding-top: 2.5rem;
    22172153  padding-bottom: 2.5rem;
    22182154  font-size: 0.875rem;
    … …  
    23242260  margin-bottom: 0px;
    23252261  flex-direction: column;
     2262  align-items: center;
    23262263  justify-content: space-between;
    23272264  gap: 1.5rem;
    … …  
    23392276  height: 100%;
    23402277  width: 100%;
    2341   border-radius: 0.5rem;
    2342   border-width: 1px;
    2343   --tw-border-opacity: 1;
    2344   border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    23452278  --tw-bg-opacity: 1;
    23462279  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    2347   padding: 2rem;
    23482280  font-size: 1.125rem;
    23492281  font-weight: 700;
    … …  
    23812313  justify-content: space-between;
    23822314  border-top-width: 1px;
    2383   border-bottom-width: 1px;
    23842315  padding-top: 2.5rem;
    23852316  padding-bottom: 2.5rem;
    … …  
    23992330  display: block;
    24002331  overflow-wrap: break-word;
     2332  font-size: 1rem;
     2333  line-height: 1.5rem;
    24012334  font-weight: 700;
    24022335}
    24032336
    24042337.post-media {
    2405   margin-top: 2.5rem;
     2338  margin-bottom: 2.5rem;
    24062339}
    24072340
    … …  
    25582491  --tw-text-opacity: 1;
    25592492  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
     2493}
     2494
     2495.comment-form {
     2496  display: flex;
     2497  flex-direction: column;
     2498  flex-wrap: wrap;
     2499  gap: 1rem;
    25602500}
    25612501
    … …  
    26632603  --tw-text-opacity: 1;
    26642604  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
    2665 }
    2666 
    2667 .archive-wrapper {
    2668   display: flex;
    2669   flex-direction: column-reverse;
    2670   flex-wrap: wrap;
    2671   justify-content: space-between;
    2672   gap: 1rem;
    2673   font-size: 1.25rem;
    2674   line-height: 1.75rem;
    2675   font-weight: 700;
    2676   line-height: 1.375;
    2677   --tw-text-opacity: 1;
    2678   color: rgb(31 41 55 / var(--tw-text-opacity, 1));
    2679 }
    2680 
    2681 @media (min-width: 640px) {
    2682   .archive-wrapper {
    2683     flex-direction: row;
    2684     align-items: center;
    2685   }
    26862605}
    26872606
    … …  
    27042623}
    27052624
    2706 .archive-wrapper-wtih-filter {
    2707   justify-content: space-between;
    2708 }
    2709 
    27102625.tags-wrapper {
    2711   margin-top: 2.5rem;
    2712   margin-bottom: 2.5rem;
    27132626  display: flex;
    27142627  flex-wrap: wrap;
     2628  align-items: center;
     2629  justify-content: center;
    27152630  -moz-column-gap: 0.5rem;
    27162631       column-gap: 0.5rem;
    … …  
    27192634
    27202635.category-wrapper {
    2721   margin-top: 2.5rem;
    2722   margin-bottom: 2.5rem;
     2636  margin-top: 0px;
     2637  margin-bottom: 0.5rem;
    27232638}
    27242639
    … …  
    27972712}
    27982713
    2799 .clear-all {
    2800   display: flex;
    2801   align-items: center;
    2802   gap: 0.25rem;
    2803   font-size: 0.875rem;
    2804   line-height: 1.25rem;
    2805   --tw-text-opacity: 1;
    2806   color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    2807   text-decoration-line: none;
    2808   transition-property: all;
    2809   transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    2810   transition-duration: 150ms;
    2811 }
    2812 
    2813 .clear-all:hover {
    2814   --tw-text-opacity: 1;
    2815   color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    2816 }
    2817 
    28182714/******************************************************************************************************/
    28192715
    … …  
    28632759
    28642760.author-date {
    2865   font-size: 13px;
     2761  font-size: 0.75rem;
     2762  line-height: 1rem;
     2763  font-weight: 500;
    28662764  --tw-text-opacity: 1;
    28672765  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
    … …  
    28712769  display: flex;
    28722770  flex-direction: column;
    2873   align-items: flex-start;
    2874   gap: 0.5rem;
    2875   border-radius: 0.5rem;
    2876   --tw-bg-opacity: 1;
    2877   background-color: rgb(241 248 255 / var(--tw-bg-opacity, 1));
    2878   padding: 1.5rem;
    2879 }
    2880 
    2881 @media (min-width: 640px) {
    2882   .author-details-wrapper {
    2883     flex-direction: row;
    2884     gap: 1.25rem;
    2885   }
     2771  align-items: center;
     2772  text-align: center;
    28862773}
    28872774
    … …  
    28922779  overflow: hidden;
    28932780  border-radius: 9999px;
    2894 }
    2895 
    2896 @media (min-width: 768px) {
    2897   .author-details-wrapper .author-image-link {
    2898     height: 6rem;
    2899     width: 6rem;
    2900   }
    29012781}
    29022782
    … …  
    29392819.author-post-wrapper {
    29402820  display: flex;
    2941   flex-direction: column;
    29422821  flex-wrap: wrap;
    2943 }
    2944 
    2945 @media (min-width: 1280px) {
    2946   .author-post-wrapper {
    2947     flex-direction: row;
    2948     gap: 1.5rem;
    2949     padding-top: 1.5rem;
    2950     padding-bottom: 1.5rem;
    2951     padding-left: 1.5rem;
    2952     padding-right: 1.5rem;
    2953   }
    2954 }
    2955 
    2956 .author-post-image {
    2957   position: relative;
    2958   height: 15rem;
    2959   max-height: 15rem;
    2960   overflow: hidden;
    2961 }
    2962 
    2963 @media (min-width: 1280px) {
    2964   .author-post-image {
    2965     width: 18rem;
    2966     border-radius: 0.5rem;
    2967   }
    29682822}
    29692823
    … …  
    29712825  position: relative;
    29722826  width: 100%;
    2973   padding: 1.5rem;
     2827  padding-top: 1rem;
     2828  padding-bottom: 1rem;
     2829  padding-left: 1.5rem;
     2830  padding-right: 1.5rem;
    29742831}
    29752832
    29762833@media (min-width: 1280px) {
    29772834  .author-post-content {
    2978     width: calc(100% - 312px);
    2979     padding: 0px;
     2835    width: calc(100% - 288px);
    29802836  }
    29812837}
    … …  
    31122968/**********************************************************************************************************************************************/
    31132969
    3114 /* Plugin Css */
    3115 
    3116 /* Sidebar About Content Css */
    3117 
    3118 @media (min-width: 1024px) {
    3119   .sidebar-area .sidebar {
    3120     position: sticky;
    3121     top: 108px;
    3122   }
    3123 }
    3124 
    3125 .sidebar-area {
    3126   order: 1;
    3127   grid-column: span 1 / span 1;
    3128   width: 100%;
    3129 }
    3130 
    3131 @media (min-width: 1024px) {
    3132   .sidebar-area {
    3133     order: 2;
    3134     grid-column: span 1 / span 1;
    3135   }
    3136 }
    3137 
    3138 .sidebar .sidebar-wrapper {
    3139   margin-bottom: 1.25rem;
    3140   border-radius: 0.75rem;
    3141   border-width: 1px;
     2970.sidebar-tags-wrapper ul li.active-tag a,
     2971.sidebar-categories-wrapper .category-wrapper {
     2972  display: flex;
     2973  flex-wrap: wrap;
     2974  align-items: center;
     2975  justify-content: center;
     2976  gap: 0.5rem;
     2977}
     2978
     2979.sidebar-categories-wrapper ul li.active-category {
    31422980  --tw-border-opacity: 1;
    3143   border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
    3144   --tw-bg-opacity: 1;
    3145   background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    3146   padding-top: 1.5rem;
    3147   padding-bottom: 1.5rem;
    3148   padding-left: 1rem;
    3149   padding-right: 1rem;
    3150 }
    3151 
    3152 @media (min-width: 640px) {
    3153   .sidebar .sidebar-wrapper {
    3154     padding-top: 2rem;
    3155     padding-bottom: 2rem;
    3156     padding-left: 1.5rem;
    3157     padding-right: 1.5rem;
    3158   }
    3159 }
    3160 
    3161 .sidebar .sidebar-about-wrapper > div {
    3162   min-height: 9rem;
    3163 }
    3164 
    3165 .sidebar .sidebar_about_logo {
    3166   position: relative;
    3167   display: flex;
    3168   flex-direction: column;
    3169   gap: 1.5rem;
    3170   text-align: center;
    3171 }
    3172 
    3173 .sidebar .sidebar_about_logo ul {
    3174   justify-content: center;
    3175 }
    3176 
    3177 .sidebar .sidebar_about_logo img {
    3178   margin-left: auto;
    3179   margin-right: auto;
    3180 }
    3181 
    3182 .sidebar-tags-wrapper ul li.active-tag a,
     2981  border-color: rgb(85 25 35 / var(--tw-border-opacity, 1));
     2982}
     2983
    31832984.sidebar-categories-wrapper ul li.active-category a {
    31842985  --tw-text-opacity: 1;
    … …  
    31922993
    31932994.sidebar-title {
    3194   margin-bottom: 1rem;
    31952995  margin-top: 0px;
     2996  margin-bottom: 0.5rem;
    31962997  text-align: center;
     2998  font-size: 13px;
     2999  font-weight: 500;
     3000  --tw-text-opacity: 1;
     3001  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
    31973002}
    31983003
    … …  
    32113016}
    32123017
    3213 .sidebar-about-map {
    3214   position: absolute;
    3215   left: 0px;
    3216   right: 0px;
    3217   z-index: 0;
    3218   margin-left: auto;
    3219   margin-right: auto;
    3220   height: 100%;
    3221   max-height: 10rem;
    3222   width: auto;
    3223 }
    3224 
    32253018.category-title-wrapper {
    32263019  margin-bottom: 1rem;
    32273020  display: flex;
    32283021  align-items: center;
    3229   justify-content: space-between;
     3022  justify-content: center;
    32303023  gap: 0.5rem;
    32313024}
    … …  
    32363029
    32373030.topics-wrapper {
    3238   position: relative;
    3239   display: flex;
    3240   align-items: center;
    3241   justify-content: space-between;
    3242   padding-top: 0.75rem;
    3243   padding-bottom: 0.75rem;
    3244 }
    3245 
    3246 .topics-wrapper::after {
    3247   position: absolute;
    3248   top: 0px;
    3249   display: block;
    3250   height: 1px;
    3251   width: 100%;
    3252   background-image: linear-gradient(to right, #EBEBEB 0%, transparent 100%);;
    3253   --tw-content: '';
    3254   content: var(--tw-content);
    3255 }
    3256 
    3257 .topics-wrapper:last-child {
    3258   padding-bottom: 0px;
    3259 }
    3260 
    3261 .topics-wrapper .topics {
    3262   position: relative;
    3263   padding-left: 2.25rem;
    3264   font-size: 0.875rem;
    3265   line-height: 1.25rem;
    3266   font-weight: 600;
    3267   --tw-text-opacity: 1;
    3268   color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    3269 }
    3270 
    3271 .topics-wrapper .topics:hover {
    3272   --tw-text-opacity: 1;
    3273   color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    3274 }
    3275 
    3276 .topics-wrapper .topics-icon {
    3277   position: absolute;
    3278   left: 0px;
    3279   top: 0.25rem;
     3031  display: inline-block;
     3032  border-radius: 0.25rem;
     3033  border-width: 1px;
     3034  --tw-border-opacity: 1;
     3035  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
     3036  padding-left: 0.5rem;
     3037  padding-right: 0.5rem;
     3038  padding-top: 0.25rem;
     3039  padding-bottom: 0.25rem;
    32803040  font-size: 0.75rem;
    32813041  line-height: 1rem;
    3282   --tw-text-opacity: 1;
    3283   color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    3284 }
    3285 
    3286 .topics-wrapper .topics-count {
    3287   font-size: 13px;
     3042  font-weight: 500;
    32883043  --tw-text-opacity: 1;
    32893044  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
     3045  transition-property: all;
     3046  transition-duration: 300ms;
     3047  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
     3048}
     3049
     3050.topics-wrapper:hover {
     3051  --tw-border-opacity: 1;
     3052  border-color: rgb(32 54 86 / var(--tw-border-opacity, 1));
     3053  --tw-text-opacity: 1;
     3054  color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    32903055}
    32913056
    … …  
    33013066/* Popular Post Css */
    33023067
    3303 .popular-post-wrapper {
    3304   position: relative;
    3305   display: flex;
    3306   gap: 1rem;
    3307   padding-top: 0.75rem;
    3308   padding-bottom: 0.75rem;
    3309 }
    3310 
    3311 .popular-post-wrapper::after {
    3312   position: absolute;
    3313   bottom: 0px;
    3314   display: block;
    3315   height: 1px;
    3316   width: 100%;
    3317   background-image: linear-gradient(to left, #EBEBEB 0%, transparent 100%);
    3318   --tw-content: '';
    3319   content: var(--tw-content);
    3320 }
    3321 
    3322 .popular-post-wrapper:last-child {
    3323   padding-bottom: 0px;
    3324 }
    3325 
    3326 .popular-post-wrapper:last-child::after {
    3327   content: var(--tw-content);
    3328   display: none;
    3329 }
    3330 
    3331 @media (min-width: 640px) {
    3332   .popular-post-wrapper {
    3333     padding-top: 1.5rem;
    3334     padding-bottom: 1.5rem;
    3335   }
    3336 }
    3337 
    3338 @media (min-width: 1280px) {
    3339   .popular-post-wrapper {
    3340     gap: 1.5rem;
    3341   }
    3342 }
    3343 
    3344 .popular-post-image {
    3345   height: 3rem;
    3346   width: 3rem;
    3347   flex-shrink: 0;
    3348   overflow: hidden;
    3349   border-radius: 9999px;
    3350 }
    3351 
    3352 @media (min-width: 1280px) {
    3353   .popular-post-image {
    3354     height: 4rem;
    3355     width: 4rem;
    3356   }
    3357 }
    3358 
    3359 .popular-post-content-wrapper {
    3360   font-size: 0.875rem;
    3361   line-height: 1.25rem;
    3362   --tw-text-opacity: 1;
    3363   color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    3364 }
    3365 
    3366 .popular-post-title {
    3367   display: block;
    3368   font-weight: 600;
    3369   text-transform: lowercase;
    3370   line-height: 1.25rem;
    3371   transition-property: all;
    3372   transition-duration: 300ms;
    3373   transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    3374 }
    3375 
    3376 .popular-post-title::first-letter {
    3377   text-transform: capitalize;
    3378 }
    3379 
    3380 .group:hover .popular-post-title {
    3381   --tw-text-opacity: 1;
    3382   color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    3383 }
    3384 
    33853068.about-title {
    33863069  margin: 0px;
     3070  font-size: 1.125rem;
     3071  line-height: 1.75rem;
     3072  font-weight: 700;
     3073  text-transform: uppercase;
     3074  --tw-text-opacity: 1;
     3075  color: rgb(32 54 86 / var(--tw-text-opacity, 1));
    33873076}
    33883077
    … …  
    33943083  --tw-text-opacity: 1;
    33953084  color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    3396 }
    3397 
    3398 .group:hover .group-hover\:text-pink {
    3399   --tw-text-opacity: 1;
    3400   color: rgb(85 25 35 / var(--tw-text-opacity, 1));
    3401 }
    3402 
    3403 @media (min-width: 420px) {
    3404   .xxs\:flex-row {
    3405     flex-direction: row;
    3406   }
    34073085}
    34083086
    … …  
    34283106  }
    34293107
    3430   .lg\:top-\[27px\] {
    3431     top: 27px;
     3108  .lg\:top-\[18px\] {
     3109    top: 18px;
    34323110  }
    34333111
    … …  
    34463124  }
    34473125}
     3126
     3127@media (min-width: 1280px) {
     3128  .xl\:\!grid-cols-3 {
     3129    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
     3130  }
     3131}
  • letterra/1.0.3/category.php

    r350985 r354930  
    77?>
    88            <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow'); ?>>
    9                 <div class="">
     9                <div class="flex flex-wrap">
    1010                    <?php
    1111                        // Call the content post image template area
    … …  
    1414
    1515                    <!-- Content -->
    16                     <div class="p-6 relative">
     16                     <div class="px-6 py-4 relative w-[calc(100%-288px)]">
    1717                       <?php
    1818                            // Call the content post author meta template area
  • letterra/1.0.3/footer.php

    r350985 r354930  
    1 <footer class="bg-white border-t border-gray-200 py-6">
     1<footer class="bg-white">
    22    <div
    3         class="custom-container text-center flex flex-col md:flex-row items-center justify-between gap-4 md:text-start !py-0">
     3        class="custom-container border-t border-gray-200 !py-6 text-center flex flex-col md:flex-row items-center justify-between gap-4 md:text-start">
    44        <div class="text-gray-500 text-sm">
    55            <?php
  • letterra/1.0.3/functions.php

    r350985 r354930  
    22require_once get_template_directory() . '/inc/customizer/customizer.php';
    33require_once get_template_directory() . '/inc/custom-comment-layout.php';
    4 require_once get_template_directory() . '/inc/post-views.php';
    54require_once get_template_directory() . '/inc/sidebar-about.php';
    65require_once get_template_directory() . '/inc/sidebar-all-categories.php';
    76require_once get_template_directory() . '/inc/sidebar-all-tags.php';
    8 require_once get_template_directory() . '/inc/sidebar-popular-posts.php';
    97require_once get_template_directory() . '/inc/footer-social-icons.php';
    10 require_once get_template_directory() . '/widgets/class-letterra-popular-posts-widget.php';
    11 require_once get_template_directory() . '/widgets/class-letterra-categories-widget.php';
    12 require_once get_template_directory() . '/widgets/class-letterra-tags-widget.php';
    13 require_once get_template_directory() . '/widgets/class-letterra-sidebar-about-widget.php';
    148
    159// Check if sidebar is active
    … …  
    5953}
    6054add_action('after_setup_theme', 'letterra_theme_setup');
    61 
    62 
    63 // Register widget area
    64 function letterra_widgets_init()
    65 {
    66     register_sidebar([
    67         'name'          => __('Main Sidebar', 'letterra'),
    68         'id'            => 'sidebar-1',
    69         'description'   => __('Add widgets here.', 'letterra'),
    70         'before_widget' => '<div id="%1$s" class="widget %2$s">',
    71         'after_widget'  => '</div>',
    72         'before_title'  => '<h3 class="widget-title">',
    73         'after_title'   => '</h3>',
    74     ]);
    75 }
    76 add_action('widgets_init', 'letterra_widgets_init');
    7755
    7856
    … …  
    8765    wp_enqueue_style('letterra-font-awesome', get_template_directory_uri() . '/assets/css/fontawesome/all.min.css', [], '7.3.1');
    8866
    89     // Load Swiper CSS and JS only on single page if the post type is gallery and it has more than 1 image.
    90     $media_type = get_post_meta(get_the_ID(), 'letterra_core_media_type', true);
    91 
    92     if (! in_array($media_type, ['image', 'video', 'audio', 'gallery'], true)) {
    93         $media_type = 'none';
    94     }
    95     $gallery_images = get_post_meta(get_the_ID(), 'letterra_core_gallery_images', true);
    96     $count = is_array( $gallery_images ) ? count( $gallery_images ) : 0;
    97 
    98     if (is_single() && $media_type === 'gallery' && !empty($gallery_images) && is_array($gallery_images) && $count > 1) {
    99         wp_enqueue_style('letterra-swiper-css', get_template_directory_uri() . '/assets/css/swiper/swiper-bundle.min.css', array(), null);
    100         wp_enqueue_script('letterra-swiper-js', get_template_directory_uri() . '/assets/js/swiper/swiper-bundle.min.js', array(), null, true);
    101         wp_script_add_data('letterra-swiper-js', 'strategy', 'defer');
    102         wp_enqueue_script('letterra-single-js', get_template_directory_uri() . '/assets/js/single.min.js', array(), $theme_version, true);
    103         wp_script_add_data('letterra-single-js', 'strategy', 'defer');
    104     }
    10567    // Theme compiled CSS with Tailwind
    10668    wp_enqueue_style('letterra-tailwind', get_template_directory_uri() . '/assets/css/style.min.css', array('letterra-main'), $theme_version);
    … …  
    13294    }
    13395    $excerpt .= '...';
    134     // $excerpt .= '<span class="block mt-2"> <a href="' . esc_url(get_permalink()) . '" class="read-more group-hover:text-pink">' . sprintf(esc_html__('Read more', 'letterra')) . '</a></span>';
    135     $excerpt .= '<a href="' . esc_url(get_permalink()) . '" class="font-medium text-grey group-hover:text-pink block">'
     96    $button = '';
     97    if(!is_single()) {
     98        $button = 'button';
     99    }
     100    else {
     101        $button = 'hidden';
     102    }
     103    $excerpt .= '<p><a href="' . esc_url(get_permalink()) . '" class="'.$button.'">'
    136104    . esc_html__('Read more', 'letterra')
    137105    . '<span class="screen-reader-text">'
    138106    . sprintf(esc_html__('about %s', 'letterra'), esc_html(get_the_title()))
    139     . '</span></a>';
     107    . '</span></a></p>';
    140108    return $excerpt;
    141109}
    … …  
    156124            false,
    157125            [
    158                 'class' => 'w-auto object-contain h-8',
     126                'class' => 'w-auto object-contain h-6',
    159127                'alt'   => esc_attr($site_name),
    160128            ]
    … …  
    177145}
    178146
    179 // Check post type is video, audio, gallery or image
    180 function letterra_inside_get_media_type($post_id = null)
    181 {
    182     $post_id = $post_id ? $post_id : get_the_ID();
    183 
    184     // Getting value from plugin letterra Core
    185     return get_post_meta(
    186         $post_id,
    187         'letterra_core_media_type',
    188         true
    189     );
    190 }
    191 
    192 // Post Floating Icon
    193 function letterra_get_media_icon($post_id = null)
    194 {
    195     $media_type = letterra_inside_get_media_type($post_id);
    196     switch ($media_type) {
    197         case 'video':
    198             return '<i class="fa-solid fa-play" aria-hidden="true"></i>';
    199 
    200         case 'audio':
    201             return '<i class="fa-regular fa-headphones" aria-hidden="true"></i>';
    202 
    203         case 'gallery':
    204             return '<i class="fa-regular fa-images" aria-hidden="true"></i>';
    205 
    206         case 'image':
    207         default:
    208             return '<i class="fa-regular fa-image" aria-hidden="true"></i>';
    209     }
    210 }
    211 
    212 
    213147// Each post categories on listing page
    214148function letterra_post_categories($post_id = null)
    … …  
    227161    }
    228162    $output = '<div class="main-post-category">';
    229     $output .= '<span class="post-text">' . esc_html__('Categories:', 'letterra') . '</span>';
    230 
     163    if (is_single()) {
     164        $output .= '<span class="post-text block w-full">' . esc_html__('Categories:', 'letterra') . '</span>';
     165    }
    231166    foreach ($categories as $cat) {
    232167        if (!is_object($cat)) {
    … …  
    273208
    274209    $output = '<div class="main-post-category with-tags">';
    275     $output .= '<span class="post-text">' . esc_html__('Tags:', 'letterra') . '</span>';
    276 
     210    if (is_single()) {
     211        $output .= '<span class="post-text block w-full">' . esc_html__('Tags:', 'letterra') . '</span>';
     212    }
    277213    foreach ($tags as $tag) {
    278214
    … …  
    304240
    305241/* Add an arrow in header menus */
    306 function letterra_add_menu_arrow($item_output, $item, $depth, $args)
     242function letterra_add_menu_arrow($item_output, $item)
    307243{
    308244    if (in_array('menu-item-has-children', $item->classes, true)) {
    309         $item_output .= '<button type="button" class="menu-arrow text-xs right-5 lg:right-5 absolute top-[9px] lg:top-[27px]" aria-expanded="false" aria-label="' . esc_attr(sprintf(__('Toggle submenu for %s', 'letterra'), $item->title)) . '">
     245        $item_output .= '<button type="button" class="menu-arrow text-xs right-5 lg:right-5 absolute top-[9px] lg:top-[18px]" aria-expanded="false" aria-label="' . esc_attr(sprintf(__('Toggle submenu for %s', 'letterra'), $item->title)) . '">
    310246            <i class="fa-solid fa-chevron-down" aria-hidden="true"></i>
    311247        </button>';
    … …  
    326262        }
    327263?>
    328 
    329264        <div class="view-all-categories view-all-tags text-start flex items-center sm:justify-end flex-wrap gap-4">
    330265
    … …  
    359294
    360295        </div>
    361 
    362296    <?php
    363297    }
    364298}
    365 
    366 function letterra_view_author_tags_links($author_id = 0)
    367 {
    368 
    369     $all_categories_page = get_theme_mod('letterra_all_categories_page', 0);
    370     $all_tags_page       = get_theme_mod('letterra_all_tags_page', 0);
    371 
    372     // Nothing to display.
    373     if (! $all_categories_page && ! $all_tags_page) {
    374         return;
    375     }
    376 
    377     ?>
    378 
    379     <div class="view-all-categories view-all-tags text-start flex items-center flex-wrap gap-4 pt-4">
    380 
    381         <?php
    382         // All Categories.
    383         if ($all_categories_page && ! is_page($all_categories_page)) :
    384 
    385             $categories_url = get_permalink($all_categories_page);
    386 
    387             if ($author_id) {
    388                 $categories_url = add_query_arg(
    389                     'author_id',
    390                     absint($author_id),
    391                     $categories_url
    392                 );
    393             }
    394 
    395             if ($categories_url) :
    396         ?>
    397 
    398                 <a href="<?php echo esc_url($categories_url); ?>">
    399                     <?php esc_html_e('View All Categories', 'letterra'); ?>
    400                 </a>
    401 
    402         <?php
    403             endif;
    404 
    405         endif;
    406         ?>
    407 
    408 
    409         <?php
    410         // All Tags.
    411         if ($all_tags_page && ! is_page($all_tags_page)) :
    412 
    413             $tags_url = get_permalink($all_tags_page);
    414 
    415             if ($author_id) {
    416                 $tags_url = add_query_arg(
    417                     'author_id',
    418                     absint($author_id),
    419                     $tags_url
    420                 );
    421             }
    422 
    423             if ($tags_url) :
    424         ?>
    425 
    426                 <a href="<?php echo esc_url($tags_url); ?>">
    427                     <?php esc_html_e('View All Tags', 'letterra'); ?>
    428                 </a>
    429 
    430         <?php
    431             endif;
    432 
    433         endif;
    434         ?>
    435 
    436     </div>
    437 
    438 <?php
    439 }
    440 
    441 add_action('admin_notices', 'letterra_admin_notice');
    442 
    443 function letterra_admin_notice()
    444 {
    445     // Don't show the notice if the current user has already dismissed it.
    446     if (get_user_meta(get_current_user_id(), 'letterra_core_notice_dismissed', true)) {
    447         return;
    448     }
    449     // Only users who can manage theme options should see it.
    450     if (! current_user_can('manage_options')) {
    451         return;
    452     }
    453     $dismiss_url = wp_nonce_url(
    454         add_query_arg(
    455             array(
    456                 'letterra_dismiss_core_notice' => '1',
    457             ),
    458             admin_url()
    459         ),
    460         'letterra_dismiss_core_notice'
    461     );
    462 ?>
    463     <div class="notice notice-info is-dismissible">
    464         <p>
    465             <?php
    466             printf(
    467                 /* translators: %s: plugin name */
    468                 wp_kses_post('%s plugin is recommended for additional %s theme features.', 'letterra'),
    469                 '<strong>letterra Core</strong>',
    470                 '<strong>letterra</strong>',
    471             );
    472             ?>
    473             <a href="<?php echo esc_url($dismiss_url); ?>">
    474                 <?php esc_html_e('Dismiss', 'letterra'); ?>
    475             </a>
    476         </p>
    477     </div>
    478     <div class="notice notice-success is-dismissible">
    479         <p>
    480             <?php
    481             printf(
    482                 wp_kses_post('Welcome to %s! You can configure your theme from the Customizer.', 'letterra'),
    483                 '<strong>letterra</strong>'
    484             );
    485             ?>
    486         </p>
    487     </div>
    488 <?php
    489 }
    490 
    491 function letterra_dismiss_core_notice()
    492 {
    493 
    494     if (! isset($_GET['letterra_dismiss_core_notice'])) {
    495         return;
    496     }
    497 
    498     if (! current_user_can('manage_options')) {
    499         return;
    500     }
    501 
    502     check_admin_referer('letterra_dismiss_core_notice');
    503 
    504     update_user_meta(
    505         get_current_user_id(),
    506         'letterra_core_notice_dismissed',
    507         1
    508     );
    509 
    510     wp_safe_redirect(remove_query_arg(array(
    511         'letterra_dismiss_core_notice',
    512         '_wpnonce',
    513     )));
    514     exit;
    515 }
    516 add_action('admin_init', 'letterra_dismiss_core_notice');
    517 
    518 function letterra_register_widgets() {
    519     register_widget( 'letterra_Sidebar_About_Widget' );
    520     register_widget( 'letterra_Popular_Posts_Widget' );
    521     register_widget( 'letterra_Categories_Widget' );
    522     register_widget( 'letterra_Tags_Widget' );
    523 }
    524 
    525 add_action( 'widgets_init', 'letterra_register_widgets' );
    526299
    527300function letterra_preload_fonts() {
  • letterra/1.0.3/header.php

    r350985 r354930  
    1212    <a class="screen-reader-text" href="#primary"> <?php esc_html_e('Skip to content', 'letterra'); ?></a>
    1313
    14     <header class="header-default border-b border-gray-200 py-3.5 lg:py-0 sticky top-0 bg-white z-50">
     14    <header class="header-default py-3.5 lg:py-0 sticky top-0 bg-white z-50">
    1515        <div class="custom-container !py-0">
    1616            <div class="header-inner">
    17                 <div class="flex items-center justify-between flex-row-reverse xxs:flex-row gap-4">
     17                <div class="flex items-center justify-center gap-4 py-6">
    1818                    <div class="header-buttons">
    1919                        <button
    … …  
    4949                    ]); ?>
    5050                </nav>
    51                 <div class="header-right">
    52                     <?php get_search_form(); ?>
    53                 </div>
    5451            </div>
    5552        </div>
  • letterra/1.0.3/home.php

    r350985 r354930  
    44
    55    if (have_posts()):
     6        $count = 0;
    67        while (have_posts()):the_post();
    78?>
    89            <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow'); ?>>
    9                 <div class="">
     10                <div class="flex flex-wrap">
    1011                    <?php
    1112                        // Call the content post image template area
    … …  
    1314                    ?>
    1415                    <!-- Content -->
    15                     <div class="p-6 relative">
     16                    <div class="px-6 py-4 relative w-[calc(100%-288px)]">
    1617                    <?php
    1718                        // Call the content post author meta template area
    … …  
    2526            </article>
    2627<?php
     28$count++;
    2729        endwhile;
    2830    else :
  • letterra/1.0.3/inc/customizer/customizer-letterra-core-settings.php

    r350985 r354930  
    22/*
    33     * ---------------------------------------------------------
    4      * letterra Core Settings Section
     4     * Letterra Core Settings Section
    55     * ---------------------------------------------------------
    66*/
    77$wp_customize->add_section('letterra_core_sidebar_settings', array('title' => __('letterra Sidebar Settings', 'letterra'), 'description' => __('Configure settings provided by the letterra theme.', 'letterra'), 'panel' => 'letterra_theme_settings', 'priority' => 30,));
    88$wp_customize->add_setting('letterra_core_sidebar', array('default' => false, 'sanitize_callback' => 'rest_sanitize_boolean',));
    9 $wp_customize->add_control('letterra_core_sidebar', array('label' => __('Need Sidebar?', 'letterra'), 'description' => __('Do you need to show the sidebar?', 'letterra'), 'section' => 'letterra_core_sidebar_settings', 'type' => 'checkbox',));
    109
    11 $wp_customize->add_setting('letterra_core_map_image', array('default' => 0, 'sanitize_callback' => 'absint',));
    12 $wp_customize->add_control(new WP_Customize_Media_Control(
    13     $wp_customize,
    14     'letterra_core_map_image',
    15     array(
    16         'label'       => __('Map Image', 'letterra'),
    17         'description' => __('Upload an image to use as your map.', 'letterra'),
    18         'mime_type'   => 'image',
    19         'section'     => 'letterra_core_sidebar_settings',
    20     )
     10$wp_customize->add_setting('letterra_core_about_title', array(
     11    'default'           => '',
     12    'sanitize_callback' => 'sanitize_text_field',
    2113));
     14$wp_customize->add_control('letterra_core_about_title', array(
     15    'label'   => __('About Title', 'letterra'),
     16    'section' => 'letterra_core_sidebar_settings',
     17    'type'    => 'text',
     18));
     19
    2220$wp_customize->add_setting('letterra_core_about_content', array('default' => '', 'sanitize_callback' => 'sanitize_textarea_field',));
    2321$wp_customize->add_control('letterra_core_about_content', array('label' => __('About Content', 'letterra'), 'description' => __('Enter the content you want to display in the sidebar.', 'letterra'), 'section' => 'letterra_core_sidebar_settings', 'type' => 'textarea'));
     22
    2423
    2524$wp_customize->add_setting('letterra_all_categories_page', array('default' => 0, 'sanitize_callback' => 'absint',));
  • letterra/1.0.3/inc/footer-social-icons.php

    r350985 r354930  
    3333                'youtube'       => 'fa-brands fa-youtube',
    3434                'pinterest'     => 'fa-brands fa-pinterest-p',
    35                 'tiktok'        => 'fa-brands fa-tiktok',
    3635                'github'        => 'fa-brands fa-github',
    37                 'gitlab'        => 'fa-brands fa-gitlab',
    38                 'reddit'        => 'fa-brands fa-reddit-alien',
    39                 'discord'       => 'fa-brands fa-discord',
    40                 'twitch'        => 'fa-brands fa-twitch',
    4136                'telegram'      => 'fa-brands fa-telegram',
    4237                'whatsapp'      => 'fa-brands fa-whatsapp',
    4338                'snapchat'      => 'fa-brands fa-snapchat',
    44                 'spotify'       => 'fa-brands fa-spotify',
    45                 'medium'        => 'fa-brands fa-medium',
    46                 'behance'       => 'fa-brands fa-behance',
    47                 'dribbble'      => 'fa-brands fa-dribbble',
    48                 'vimeo'         => 'fa-brands fa-vimeo-v',
    49                 'tumblr'        => 'fa-brands fa-tumblr',
    50                 'flickr'        => 'fa-brands fa-flickr',
    51                 'quora'         => 'fa-brands fa-quora',
    52                 'stackoverflow' => 'fa-brands fa-stack-overflow',
    53                 'xing'          => 'fa-brands fa-xing',
    54                 'yelp'          => 'fa-brands fa-yelp',
    55                 'vk'            => 'fa-brands fa-vk',
    56                 'weibo'         => 'fa-brands fa-weibo',
    57                 'rss'           => 'fa-solid fa-rss',
    5839            );
    5940            $icon_class = isset($icons[$name]) ? $icons[$name] : 'fa-solid fa-link';
  • letterra/1.0.3/inc/sidebar-about.php

    r350985 r354930  
    77 *     Optional. Arguments to customize the About section.
    88 *
    9  *     @type bool   $show_logo   Show site logo. Default true.
    109 *     @type bool   $show_title  Show site title. Default true.
    1110 *     @type bool   $show_desc   Show about description. Default true.
    12  *     @type bool   $show_map    Show map image. Default true.
    1311 *     @type string $title       Custom title. Default empty.
    1412 *     @type int    $desc_limit  Limit description words. 0 = unlimited.
    … …  
    2927    // Default arguments.
    3028    $defaults = array(
    31         'show_logo'  => true,
    3229        'show_title' => true,
    3330        'show_desc'  => true,
    34         'show_map'   => true,
    3531        'title'      => '',
    3632        'desc_limit' => 0,
    … …  
    4642
    4743    // Convert boolean arguments.
    48     $show_logo  = (bool) $args['show_logo'];
    4944    $show_title = (bool) $args['show_title'];
    5045    $show_desc  = (bool) $args['show_desc'];
    51     $show_map   = (bool) $args['show_map'];
    52 
    53     // Get theme settings.
    54     $custom_logo_id = get_theme_mod('custom_logo', 0);
    55     $map_image_id      = get_theme_mod('letterra_core_map_image', 0);
    5646
    5747    // Site title.
    … …  
    5949
    6050    // Determine what should be displayed.
    61     $has_logo = $show_logo && $custom_logo_id;
    6251    $has_title = $show_title && ! empty($site_title);
    6352    $has_description = $show_desc && ! empty($about);
    64     $has_map = $show_map && ($map_image_id > 0);
    6553
    6654    // Nothing to display.
    67     if (! $has_logo && ! $has_title && ! $has_description && ! $has_map) {
     55    if (! $has_title && ! $has_description) {
    6856        return '';
    6957    }
    7058
    7159    $output = '';
    72     $output .= '<div class="sidebar-about-wrapper sidebar-wrapper !bg-white' . esc_attr($custom_class) . '">';
    73     $output .= '<div class="relative overflow-hidden min-h-36">';
    74 
    75     /* Show map */
    76     if ($has_map) {
    77         $output .= wp_get_attachment_image($map_image_id, 'full', false, array('class' => 'sidebar-about-map', 'alt'   => esc_attr__('Map', 'letterra'), 'fetchpriority' => 'high',  'loading' => 'eager'));
    78     }
    79     $output .= '<div class="sidebar_about_logo">';
     60    $output .= '<div class="sidebar-about-wrapper sidebar-wrapper text-center ' . esc_attr($custom_class) . '">';
     61    $output .= '<div class="relative overflow-hidden pt-0 pb-5">';
    8062
    8163    /* Show logo. If logo does not exist, show title instead */
    82     if ($has_logo) {
    83         $logo = wp_get_attachment_image(absint($custom_logo_id), 'letterra-logo-size', false, array('class' => 'w-auto object-contain h-8'));
    84         if ($logo) {
    85             $output .= $logo;
    86         } elseif ($has_title) {
    87             $output .= '<h3 class="sidebar-title about-title">' . esc_html($site_title) . '</h3>';
    88         }
    89     } elseif ($has_title) {
     64    if ($has_title) {
    9065        $output .= '<h3 class="sidebar-title about-title">' . esc_html($site_title) . '</h3>';
    9166    }
    9267
     68    $about_title = get_theme_mod( 'letterra_core_about_title', '' );
     69    if ( $about_title ) {
     70        $output .= "<h1 class='text-3xl font-bold text-grey mb-2 mt-1'>". esc_html( $about_title ) ."</h1>";
     71    }
     72   
    9373    /* Show description */
    9474    if ($has_description) {
    … …  
    10585    $output .= '</div>';
    10686    $output .= '</div>';
    107     $output .= '</div>';
    10887
    10988    return $output;
  • letterra/1.0.3/inc/sidebar-all-categories.php

    r350985 r354930  
    1616    $defaults = array(
    1717        'title'      => '',
    18         'show_count' => true,
    1918        'class'      => '',
    2019        'limit'      => 5,
    … …  
    111110    }
    112111    elseif ($author_id) {
    113         $title = __('Author Categories', 'letterra');
     112        $title = __('Author By Categories', 'letterra');
    114113    }
    115114    else {
    116         $title = __('Explore Categories', 'letterra');
     115        $title = __('Explore By Categories', 'letterra');
    117116    }
    118117
    … …  
    134133?>
    135134
    136     <div class="sidebar-categories-wrapper sidebar-wrapper !bg-white <?php echo esc_attr($args['class']); ?>">
     135    <div class="sidebar-categories-wrapper sidebar-wrapper !bg-white pb-10 <?php  if ( is_page_template()) {echo '';} else {echo 'max-w-xl mx-auto';} echo esc_attr($args['class']); ?>">
    137136        <?php if ($all_categories_page && is_page($all_categories_page)): ?>
    138137            <div class="category-title-wrapper">
    … …  
    144143        <?php endif; ?>
    145144
    146         <div class="sidebar-title-border">
    147             <svg width="33" height="6" xmlns="http://www.w3.org/2000/svg">
    148                 <defs>
    149                     <?php $gradient_id = wp_unique_id('letterra-category-gradient-'); ?>
    150                     <linearGradient id="<?php echo esc_attr($gradient_id); ?>" x1="0%" y1="0%" x2="100%" y2="0%">
    151                         <stop offset="0%" stop-color="#203656"></stop>
    152                         <stop offset="100%" stop-color="#FFA387"></stop>
    153                     </linearGradient>
    154                 </defs>
    155                 <path d="M33 1c-3.3 0-3.3 4-6.598 4C23.1 5 23.1 1 19.8 1c-3.3 0-3.3 4-6.599 4-3.3 0-3.3-4-6.6-4S3.303 5 0 5" stroke="url(#<?php echo esc_attr($gradient_id); ?>)" stroke-width="2" fill="none"></path>
    156             </svg>
    157         </div>
    158 
    159145        <ul class="category-wrapper">
    160146            <?php
    161147            $i = 0;
    162             $show_count = (bool) $args['show_count'];
    163148
    164149            foreach ($categories as $category) :
    … …  
    179164
    180165                /* Category count */
    181                 $count = ($author_id && isset($category_count[$category->term_id])) ? $category_count[$category->term_id] : $category->count;
    182166            ?>
    183167                <li class="topics-wrapper <?php echo esc_attr($active_class); ?>">
    184168                    <a href="<?php echo esc_url($url); ?>" class="topics">
    185                         <i class="fa-solid fa-chevron-right topics-icon" aria-hidden="true"></i>
    186169                        <?php echo esc_html($category->name); ?>
    187170                    </a>
    188 
    189                     <?php if ($show_count) : ?>
    190                         <span class="topics-count">(<?php echo absint($count); ?>)</span>
    191                     <?php endif; ?>
    192171                </li>
    193172            <?php
  • letterra/1.0.3/inc/sidebar-all-tags.php

    r350985 r354930  
    212212        $title = $args['title'];
    213213    } elseif ($author_id) {
    214         $title = __('Author Tags', 'letterra');
     214        $title = __('Author By Tags', 'letterra');
    215215    } else {
    216         $title = __('Explore Tags', 'letterra');
     216        $title = __('Explore By Tags', 'letterra');
    217217    }
    218218
    … …  
    261261        <?php endif; ?>
    262262
    263         <div class="sidebar-title-border">
    264 
    265             <svg
    266                 width="33"
    267                 height="6"
    268                 xmlns="http://www.w3.org/2000/svg">
    269 
    270                 <defs>
    271                     <?php $gradient_id = wp_unique_id('letterra-tag-gradient-'); ?>
    272                     <linearGradient
    273                         id="<?php echo esc_attr($gradient_id); ?>"
    274                         x1="0%"
    275                         y1="0%"
    276                         x2="100%"
    277                         y2="0%">
    278 
    279                         <stop
    280                             offset="0%"
    281                             stop-color="#203656"></stop>
    282 
    283                         <stop
    284                             offset="100%"
    285                             stop-color="#FFA387"></stop>
    286 
    287                     </linearGradient>
    288 
    289                 </defs>
    290 
    291                 <path
    292                     d="M33 1c-3.3 0-3.3 4-6.598 4C23.1 5 23.1 1 19.8 1c-3.3 0-3.3 4-6.599 4-3.3 0-3.3-4-6.6-4S3.303 5 0 5"
    293                     stroke="url(#<?php echo esc_attr($gradient_id); ?>)"
    294                     stroke-width="2"
    295                     fill="none"></path>
    296 
    297             </svg>
    298 
    299         </div>
    300263
    301264        <ul class="tags-wrapper">
    … …  
    327290                $count = ($author_id && isset($tag_count[$tag->term_id])) ? $tag_count[$tag->term_id] : $tag->count;
    328291                ?>
    329                 <li class="<?php echo esc_attr($active_class); ?>">
    330                     <a href="<?php echo esc_url($url); ?>" class="tags">
     292                <li class="topics-wrapper<?php echo esc_attr($active_class); ?>">
     293                    <a href="<?php echo esc_url($url); ?>" class="topics">
    331294                        <?php echo esc_html($args['prefix'] . $tag->name); ?>
    332295                        <?php if ($show_count) : ?>
  • letterra/1.0.3/package.json

    r350985 r354930  
    88
    99    "build:main-js": "terser ./assets/js/main.js -o ./assets/js/main.min.js --compress --mangle",
    10     "build:single-js": "terser ./assets/js/single.js -o ./assets/js/single.min.js --compress --mangle",
    1110    "build:customizer-js": "terser ./assets/js/customizer-social-repeater.js -o ./assets/js/customizer-social-repeater.min.js --compress --mangle",
    1211
    … …  
    1413    "build:customizer-css": "cleancss -o ./assets/css/customizer-social-repeater.min.css ./assets/css/customizer-social-repeater.css",
    1514
    16     "build": "npm run build:main-js && npm run build:single-js && npm run build:customizer-js && npm run build:style-css && npm run build:customizer-css",
     15    "build": "npm run build:main-js && npm run build:customizer-js && npm run build:style-css && npm run build:customizer-css",
    1716
    1817    "watch:js": "concurrently \"chokidar ./assets/js/main.js -c 'npm run build:main-js'\" \"chokidar ./assets/js/single.js -c 'npm run build:single-js'\" \"chokidar ./assets/js/customizer-social-repeater.js -c 'npm run build:customizer-js'\"",
  • letterra/1.0.3/readme.txt

    r350985 r354930  
    88License URI: https://www.gnu.org/licenses/gpl-2.0.html
    99Text Domain: letterra
    10 Tags: blog, custom-logo, custom-background, custom-header, flexible-header, custom-menu, editor-style, featured-images, theme-options, translation-ready, threaded-comments, right-sidebar, one-column, two-columns, grid-layout, full-width-template
     10Tags: blog, custom-logo, custom-background, custom-header, flexible-header, custom-menu, editor-style, featured-images, theme-options, translation-ready, threaded-comments, one-column, grid-layout, full-width-template
    1111
    12 A clean, responsive classic blog theme with media-rich posts, author archives, popular posts and social sharing.
     12A clean, responsive classic blog theme with author archives and social sharing.
    1313
    1414== Description ==
    1515letterra is a clean and responsive classic WordPress theme built for writers, editors and small publications.
    1616It focuses on readable typography, a fast front end and a straightforward editorial layout that works on every screen size.
    17 Posts can be presented as image, gallery, video or audio entries, so a single blog can mix long reads with podcasts, screencasts and photo sets.
    1817Templates are included for the blog home, single posts, pages, category, tag, author and search archives, plus a 404 template that offers a search form instead of a dead end.
    1918Everything is configured through the WordPress Customizer, so there is no separate options framework and no page builder to learn.
    … …  
    2120= Features =
    2221* Clean, minimal, mobile-first blog design built with Tailwind CSS
    23 * Media-aware posts: featured image, gallery slider, self-hosted or embedded video, and audio
    24 * Author archive with the author's bio, avatar and social profiles
     22* Author archive with the author's bio and avatar
    2523* Category, tag and author-scoped filtering of post listings, using the `author_cat` and `author_tag` query arguments on author archives
    26 * Popular posts ordered by a view count stored in post meta on your own site
    2724* Threaded comments with a custom comment layout
    2825* Paginated post listings with styled page numbers
    … …  
    3027* 404 template with a search form
    3128* Social follow icons in the footer, with Font Awesome icons mapped for around thirty platforms and a generic link icon as a fallback
    32 * Social sharing icons on single posts
    3329* Open Graph and Twitter Card tags on single views, automatically skipped when Yoast SEO, Rank Math or All in One SEO is active
    3430* Two custom page templates, Categories and Tags, for site-wide term listings
    35 * Four bundled widgets: About, Popular Posts, Categories and Tags
    36 * Optional Main Sidebar widget area with Customizer selective refresh
    3731* Editor styles so the block editor reflects the front end
    3832* Back-to-top button and smooth scrolling
    … …  
    4034* Translation ready, using the `letterra` text domain
    4135* All fonts, icons and scripts served from the theme folder
    42 * Deferred non-critical JavaScript (main script, single-post script, Swiper slider) for faster initial page rendering
     36* Deferred non-critical JavaScript for faster initial page rendering
    4337* Preloaded custom web fonts to reduce render-blocking font requests
    4438
    … …  
    5145
    5246= Theme support =
    53 `automatic-feed-links`, `title-tag`, `custom-logo`, `custom-header`, `custom-background`, `post-thumbnails`, `html5` (search form, comment form, comment list, gallery, caption, style, script), `editor-styles` and `customize-selective-refresh-widgets`.
    54 One menu location is registered, Primary Menu, and it falls back to `wp_page_menu()` when no menu is assigned. One widget area is registered, Main Sidebar (`sidebar-1`). Two image sizes are added: `letterra-logo-size` at 150x36 and `letterra-blog` at 700x300.
     47`automatic-feed-links`, `title-tag`, `custom-logo`, `custom-header`, `custom-background`, `post-thumbnails`, `html5` (search form, comment form, comment list, gallery, caption, style, script) and `editor-styles`.
     48One menu location is registered, Primary Menu, and it falls back to `wp_page_menu()` when no menu is assigned. Two image sizes are added: `letterra-logo-size` at 150x36 and `letterra-blog` at 700x300.
    5549
    5650-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    … …  
    6054* letterra Footer Settings — footer copyright text, which supports the `{year}` and `{site_name}` placeholders
    6155* letterra Social Settings — a toggle to show footer social icons, and a repeater for up to five platform names and profile URLs
    62 * letterra Sidebar Settings — a toggle for the sidebar, an About image, About text, and the pages used for the All Categories and All Tags listings
    6356
    64 The standard Site Identity, Header Image, Background, Menus and Widgets sections are also available.
     57The standard Site Identity, Header Image, Background and Menus sections are also available.
    6558
    6659-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    6760
    68 = Recommended plugin =
    69 letterra Core is a companion plugin that adds a Post Details meta box (media type, post image, video URL, audio file and gallery images), author social profile fields on the user screen,
    70 post sharing icons, Open Graph output and an option to disable the block editor. The theme is fully functional without it, but the media post presentations, author social icons and sharing icons will not appear.
    71 A dismissible admin notice points to the plugin. Child themes and custom templates can use `letterra_get_excerpt_by_chars( $limit )`, `letterra_get_author_name( $author_id )`, `letterra_post_categories( $post_id )`,
    72 `letterra_post_tags( $post_id )`, `letterra_get_media_icon( $post_id )`, `letterra_theme_get_the_logo()`, `letterra_social_icons()`, `letterra_render_about_sidebar( $args )` and `letterra_has_sidebar()`.
     61= Helper functions =
     62The theme is fully self-contained and does not require any plugin. Child themes and custom templates can use `letterra_get_excerpt_by_chars( $limit )`, `letterra_get_author_name( $author_id )`, `letterra_post_categories( $post_id )`, `letterra_post_tags( $post_id )`, `letterra_theme_get_the_logo()` and `letterra_social_icons()`.
    7363
    7464= Build tooling =
    … …  
    86761. In the WordPress admin go to Appearance > Themes > Add New > Upload Theme, choose the theme zip file and click Install Now. Alternatively, upload the unzipped `letterra` folder to `/wp-content/themes/`.
    87772. Click Activate.
    88 3. Optionally install and activate the letterra Core plugin to enable the media post presentations, author social fields and sharing icons.
    89 4. Go to Appearance > Customize to set your logo, header image, background, footer copyright, social links and sidebar options.
    90 5. Go to Appearance > Menus and assign a menu to the Primary Menu location.
    91 6. Go to Appearance > Widgets to populate the Main Sidebar, if you enabled it.
    92 7. Optionally create two pages and assign them the Categories and Tags page templates, then select those pages in letterra Sidebar Settings.
     783. Go to Appearance > Customize to set your logo, header image, background, footer copyright and social links.
     794. Go to Appearance > Menus and assign a menu to the Primary Menu location.
     805. Optionally create two pages and assign them the Categories and Tags page templates for site-wide category and tag listings.
    9381
    9482-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    9583
    9684== Frequently Asked Questions ==
    97 = Is the letterra Core plugin required? =
    98 No. The theme works on its own. letterra Core is recommended because it supplies the post media fields, author social profiles and sharing icons that some templates render.
     85= Does the theme require any plugin? =
     86No. The theme works on its own and does not depend on any plugin.
    9987
    10088= Where are the theme options? =
    10189All options live in the WordPress Customizer, under Appearance > Customize in the Letterra Theme Settings panel. The theme does not add a separate settings page.
    102 
    103 = How do I add a video, audio or gallery post? =
    104 Install the letterra Core plugin, then pick a media type in the Post Details box on the post editor screen and fill in the matching field. Gallery posts with more than one image are shown in a Swiper slider, and the slider assets are only loaded on those posts.
    105 
    106 = How are popular posts calculated? =
    107 The theme increments a `letterra_post_views_count` value in post meta each time a single post is viewed, and the Popular Posts widget orders posts by that count. Nothing is sent to any external service.
    108 
    109 = How do I show the sidebar? =
    110 Enable "Need Sidebar?" in Appearance > Customize > Letterra Theme Settings > letterra Sidebar Settings, then add widgets to the Main Sidebar area.
    11190
    11291= How many footer social icons can I add? =
    … …  
    145124Files: assets/css/fontawesome/, assets/css/webfonts/
    146125
    147 Swiper 14.1.0
    148 Copyright: 2014-2026 Vladimir Kharlampidi
    149 Source: https://swiperjs.com/
    150 License: MIT (https://opensource.org/licenses/MIT)
    151 License file: assets/licenses/swiper/LICENSE
    152 Files: assets/css/swiper/, assets/js/swiper/
    153 
    154126Poppins
    155127Copyright: 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins)
    … …  
    165137Tailwind is a build-time dependency only; no Tailwind source files are shipped with the theme.
    166138
    167 All images bundled with the theme, including `assets/images/map.png` and the images composed into the theme screenshot, were created by the theme author, are Copyright (C) 2026 digital4design,
     139All images bundled with the theme, including the images composed into the theme screenshot, were created by the theme author, are Copyright (C) 2026 digital4design,
    168140and are licensed under the GNU General Public License v2 or later.
    169141
    … …  
    172144== Privacy ==
    173145letterra does not collect, store or transmit personal data about site visitors, and the theme makes no requests to external services. All fonts, icons, styles and scripts are served from the theme folder.
    174 Theme settings and content entered by the site administrator are stored in the site's own WordPress database. The post-view counter used by the Popular Posts widget is stored in post meta on the same site and is never sent anywhere else.
    175 The footer and author social icons, and the post sharing icons, are plain links. They load no third-party scripts and no tracking pixels, and they send no data until a visitor chooses to click one.
    176 If an administrator installs additional plugins, analytics, advertising or social integrations, those services may collect data under their own privacy policies, which is outside the control of this themes.
     146Theme settings and content entered by the site administrator are stored in the site's own WordPress database.
     147The footer social icons are plain links. They load no third-party scripts and no tracking pixels, and they send no data until a visitor chooses to click one.
     148If an administrator installs additional plugins, analytics, advertising or social integrations, those services may collect data under their own privacy policies, which is outside the control of this theme.
  • letterra/1.0.3/search.php

    r350985 r354930  
    77?>
    88            <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow'); ?>>
    9                 <div class="">
     9                 <div class="flex flex-wrap">
    1010                    <?php
    1111                        // Call the content post image template area
    … …  
    1414                   
    1515                    <!-- Content -->
    16                     <div class="p-6 relative">
     16                   <div class="px-6 py-4 relative w-[calc(100%-288px)]">
    1717                    <?php
    1818                        // Call the content post author meta template area
  • letterra/1.0.3/searchform.php

    r350985 r354930  
    1  <form role="search" method="get" action="<?php echo esc_url(home_url('/')); ?>" class="search-form">
     1 <form role="search" method="get" action="<?php echo esc_url(home_url('/')); ?>" class="search-form mx-auto max-w-md mb-6">
    22    <label for="search-field" class="screen-reader-text"><?php esc_html_e( 'Search', 'letterra' ); ?></label>
    33    <input type="search" id="search-field" name="s" placeholder="<?php esc_attr_e( 'Search...', 'letterra' ); ?>" value="<?php echo esc_attr(get_search_query()); ?>">
  • letterra/1.0.3/single.php

    r350985 r354930  
    88        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    99            <div class="bg-white">
     10               
     11                <!-- Post Image -->
     12                <?php get_template_part('template-parts/content', 'get-post-media'); ?>
     13               
     14                <!-- Post Title -->
     15                <h1 class="single-post-title"><?php the_title(); ?></h1>
    1016
    1117                <?php get_template_part('template-parts/content', 'breadcrumbs'); ?>
    1218
    13                 <!-- Post Title -->
    14                 <h1 class="single-post-title"><?php the_title(); ?></h1>
    1519
    1620                <?php get_template_part('template-parts/content', 'post-author-meta'); ?>
    1721
    18                 <!-- Post Image -->
    19 
    20                 <?php get_template_part('template-parts/content', 'get-post-media'); ?>
    2122
    2223
  • letterra/1.0.3/style.css

    r351514 r354930  
    11/*
    2 Theme Name: Letterra
     2Theme Name: letterra
    33Author: digital4design
    44Author URI: https://profiles.wordpress.org/digital4design/
    5 Description: A clean, responsive, and versatile WordPress theme with a classic design, perfect for creating elegant and professional websites.
    6 Version: 1.0.2
     5Description: A clean and responsive classic WordPress theme.
     6Version: 1.0.3
    77Requires at least: 6.0
    88Tested up to: 7.1
    … …  
    8787}
    8888
    89 /* Gallery caption */
    90 .gallery-caption {
    91     font-size: 0.85rem;
    92     color: #666;
    93     text-align: center;
    94     margin-top: 0.5em;
    95 }
    96 
    9789/* Screen reader text */
    9890.screen-reader-text {
  • letterra/1.0.3/tag.php

    r350985 r354930  
    66?>
    77            <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow'); ?>>
    8                 <div class="">
     8                 <div class="flex flex-wrap">
    99                    <?php
    1010                        // Call the content post image template area
    … …  
    1212                    ?>
    1313                    <!-- Content -->
    14                     <div class="p-6 relative">
     14                     <div class="px-6 py-4 relative w-[calc(100%-288px)]">
    1515                        <?php
    1616                            // Call the content post author meta template area
  • letterra/1.0.3/template-parts/content-author-archive.php

    r350985 r354930  
    11<?php
    2   $author_id = $args['author_id'] ?? false;
    32  $current_tag = $args['current_tag'] ?? false;
    43  $current_cat = $args['current_cat'] ?? false;
    … …  
    65  if (!empty($current_cat) || !empty($current_tag)) {
    76?>
    8     <div class="custom-container archive-main-wrap">
    9         <h2 class="archive-wrapper archive-wrapper-wtih-filter">
    10             <span class="flex flex-wrap gap-2 items-center">
     7            <span class="flex flex-wrap gap-2 items-center justify-center pb-5 text-gray-500">
    118                <?php
    129                if (!empty($current_cat)) {
    13                     echo '<span>' . esc_html__('Categories:', 'letterra') . '</span>';
    14                     echo '<span class="tags">' . esc_html(ucfirst($current_cat)) . '</span>';
     10                    echo '<span class="font-medium">' . esc_html__('Selected Category:', 'letterra') . '</span>';
     11                    echo '<span class="text-pink">' . esc_html(ucfirst($current_cat)) . '</span>';
    1512                }
    1613
    1714                if (!empty($current_tag)) {
    18                     echo '<span>' . esc_html__('Tags:', 'letterra') . '</span>';
    19                     echo '<span class="tags">#' . esc_html($current_tag) . '</span>';
     15                    echo '<span class="font-medium">' . esc_html__('Tags:', 'letterra') . '</span>';
     16                    echo '<span class="text-pink">#' . esc_html($current_tag) . '</span>';
    2017                }
    2118                ?>
    2219            </span>
    23             <?php
    24             $reset_url = get_author_posts_url($author_id);
    25             echo '<a href="' . esc_url($reset_url) . '" class="clear-all">' . esc_html__('Clear All', 'letterra') . ' <i class="fa-solid fa-x text-[10px]" aria-hidden="true"></i></a>';
    26             ?>
    27         </h2>
    28     </div>
    2920<?php
    3021    }
  • letterra/1.0.3/template-parts/content-author-info.php

    r350985 r354930  
    11<?php
    22$has_sidebar = letterra_has_sidebar();
    3 if(!is_single()):
    43?>
    5 <div class="custom-container archive-main-wrap">
    6 <?php endif; ?>
    7 <div class="author-details-wrapper group <?php if(!function_exists('letterra_core_post_sharing_icons') && !is_author() ) : echo 'mb-10'; else: echo 'my-0'; endif; ?>">
     4<div class="author-details-wrapper group <?php if(is_single()){echo 'bg-author !text-start !flex-row !gap-4 !p-6 !rounded';} ?> <?php if(!function_exists('letterra_core_post_sharing_icons') && !is_author() ) : echo 'mb-10'; else: echo 'my-0'; endif; ?>">
    85   
    96    <!-- Author Image -->
    107        <?php $author_id = get_the_author_meta('ID'); ?>
     8        <?php if(is_single()){ ?>
    119        <div class="shrink-0">
    12             <a href="<?php echo esc_url(get_author_posts_url($author_id)); ?>" class="author-image-link" aria-label="<?php echo esc_attr(sprintf(__('View all posts by %s', 'letterra'), get_the_author())); ?>">
     10            <a href="<?php echo esc_url(get_author_posts_url($author_id)); ?>" class="author-image-link <?php if(is_single()){echo '!size-24'; }?>" aria-label="<?php echo esc_attr(sprintf(__('View all posts by %s', 'letterra'), get_the_author())); ?>">
    1311                <?php echo get_avatar($author_id, 100, '', '', ['class' => 'image-scale']); ?>
    1412            </a>
    1513        </div>
     14        <?php } ?>
    1615       
    1716        <!-- Author Info -->
    1817        <div>
    19             <h4 class="author-info">
     18            <?php if(!is_single()){ ?>
     19                <h3 class="sidebar-title about-title"><?php esc_html_e('Author:', 'letterra'); ?></h3>
     20            <?php } ?>
     21            <h1 class="<?php if(is_single()){ echo 'text-xl';} else {echo 'text-3xl';}?> font-bold text-grey mb-2 mt-1">
    2022                <?php
    21                 $author_id  = get_the_author_meta('ID');
     23                // $author_id  = get_the_author_meta('ID');
    2224                $author_name = letterra_get_author_name($author_id);
    2325                if (!$author_name) {
    2426                    $author_name = get_the_author();
    25                     }
     27                }
    2628                ?>
    27                 <a href="<?php echo esc_url(get_author_posts_url($author_id)); ?>"
    28                 class="author-text-link">
     29                <a href="<?php echo esc_url(get_author_posts_url($author_id)); ?>" class="author-text-link">
    2930                    <?php echo esc_html($author_name); ?>
    3031                </a>
    31             </h4>
     32            </h1>
    3233           
    3334            <!-- Author Biography -->
    34             <p class="author-bio">
     35            <p class="sidebar-about-content pb-5">
    3536                <?php
    3637                $author_bio = get_the_author_meta('description');
    … …  
    4950            endif;
    5051            ?>
    51             <?php
    52             if (!$has_sidebar) {
    53                 letterra_view_author_tags_links($author_id);
    54                 }
    55                 ?>
    5652        </div>
    5753       
    5854    </div>
    59     <?php if(!is_single()): ?>
    60     </div>
    61     <?php endif; ?>
  • letterra/1.0.3/template-parts/content-get-post-media.php

    r350985 r354930  
    11<?php
    2 $has_media = false;
    3 $media_type = get_post_meta(get_the_ID(), 'letterra_core_media_type', true);
    4 if (! in_array($media_type, ['image', 'video', 'audio', 'gallery'], true)) {
    5     $media_type = 'none';
    6 }
    7 
    8 if ($media_type === 'image') {
    9     $image_id = get_post_meta(get_the_ID(), 'letterra_core_post_image', true);
    10     if ($image_id) {
    11         echo '<div class="single-post-image-wrapper post-media">';
    12         $image_html = wp_get_attachment_image(absint($image_id), 'letterra-blog', false, array('class' => 'w-full h-auto', 'alt'   => get_the_title(),));
    13         if ($image_html) {
    14             echo $image_html;
    15             $has_media = true;
    16         }
    17         echo '</div>';
    18     }
    19 }
    20 elseif ($media_type === 'video') {
    21     $video_url = get_post_meta(get_the_ID(), 'letterra_core_video_url', true);
    22     if ($video_url) {
    23         $video_html = wp_oembed_get(
    24             esc_url($video_url)
    25         );
    26         if ($video_html) {
    27             echo '<div class="single-post-video-wrapper">';
    28             echo '<div class="post-media">' . $video_html . '</div>';
    29             echo '</div>';
    30             $has_media = true;
    31         }
    32     }
    33 }
    34 elseif ($media_type === 'audio') {
    35     $audio_id = get_post_meta(get_the_ID(), 'letterra_core_audio', true);
    36     if ($audio_id) {
    37         $audio_url = wp_get_attachment_url(absint($audio_id));
    38         if ($audio_url) {
    39             echo '<div class="post-media">';
    40             echo '<audio controls><source src="'. esc_url($audio_url) .'" type="audio/mpeg"></audio>';
    41             echo '</div>';
    42             $has_media = true;
    43         }
    44     }
    45 }
    46 elseif ($media_type === 'gallery') {
    47     $gallery_images = get_post_meta(get_the_ID(), 'letterra_core_gallery_images', true);
    48     if (! empty($gallery_images) && is_array($gallery_images)) {
    49         echo '<div class="single-post-image-wrapper post-media">
    50             <div class="swiper post-slider">
    51                 <div class="swiper-wrapper">';
    52                     foreach ($gallery_images as $image_id) {
    53                         echo '<div class="swiper-slide">' . wp_get_attachment_image(absint($image_id), 'letterra-blog', false, array('class' => 'w-44 h-auto', 'alt'   => get_the_title())) . '</div>';
    54                     }
    55                 echo '</div>';
    56                 echo '<div class="swiper-button-next"></div>';
    57                 echo '<div class="swiper-button-prev"></div>';
    58 
    59                 echo '<div class="swiper-pagination"></div>';
    60             echo '</div>';
    61         echo '</div>';
    62         $has_media = true;
    63     }
    64 }
    65 
    66 // 👉 DEFAULT: If nothing selected → show featured image
    67 if (!$has_media && has_post_thumbnail(get_the_ID())) {
     2if (has_post_thumbnail(get_the_ID())) {
    683    echo '<div class="single-post-image-wrapper post-media">' . get_the_post_thumbnail(get_the_ID(), 'letterra-blog', array('class' => '', 'alt' => get_the_title())) . '</div>';
    694}
  • letterra/1.0.3/template-parts/content-post-author-meta.php

    r350985 r354930  
    44        <a href="<?php echo esc_url(get_author_posts_url(get_the_author_meta('ID'))); ?>"
    55            aria-label="<?php echo esc_attr(sprintf(__('View all posts by %s', 'letterra'), get_the_author())); ?>">
    6             <?php echo get_avatar(get_the_author_meta('ID'), 40, '', get_the_author(), [
     6            <?php echo get_avatar(get_the_author_meta('ID'), 30, '', get_the_author(), [
    77                'loading' => 'lazy',
    88                'class'   => 'rounded-full'
  • letterra/1.0.3/template-parts/content-post-image.php

    r350985 r354930  
    44    $above_fold_count = 6;
    55?>
    6  <div class="<?php echo esc_attr(is_author() || is_single() ? 'author-post-image' : 'main-post-image-wrapper'); ?>">
     6 <div class="<?php echo esc_attr('main-post-image-wrapper'); ?>">
    77     <?php if (has_post_thumbnail()) : ?>
    88         <a href="<?php echo get_the_permalink(); ?>">
    … …  
    1818         </a>
    1919     <?php endif; ?>
    20      <!-- Floating Icon -->
    21      <div class="floating-icon floating-icon-bottom">
    22          <?php echo wp_kses_post(letterra_get_media_icon(get_the_ID())); ?>
    23      </div>
    2420 </div>
  • letterra/1.0.3/template-parts/content-post.php

    r350985 r354930  
    1  <!-- Title -->
    21<h2 class="post-title">
    32    <a href="<?php the_permalink(); ?>"><?php echo esc_html(get_the_title()); ?></a>
    43</h2>
    5  <?php get_template_part('template-parts/content', 'get-post-categories'); ?>
    6  <?php get_template_part('template-parts/content', 'get-post-tags'); ?>
    7 
     4<?php
     5    if(!is_single()){
     6        get_template_part('template-parts/content', 'get-post-categories');
     7    }
     8?>
    89
    910<!-- Description -->
  • letterra/1.0.3/template-parts/content-related-post.php

    r350985 r354930  
    1313$query_args = array(
    1414    'post__not_in'        => array($post_id),
    15     'posts_per_page'      => 2,
     15    'posts_per_page'      => 3,
    1616    'ignore_sticky_posts' => 1,
    1717    'orderby'             => 'date',
    … …  
    4343    <div class="related-posts mb-10 border-b pb-10">
    4444        <h3><?php esc_html_e('Related Posts', 'letterra'); ?></h3>
    45         <div class="author-posts-wrapper">
     45        <div class="author-posts-wrapper xl:!grid-cols-3">
    4646            <?php while ($related_query->have_posts()) : $related_query->the_post(); ?>
    47                 <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow border border-[#e5e7eb]'); ?>>
    48                     <div class="author-post-wrapper">
     47                <article id="post-<?php the_ID(); ?>" <?php post_class('group post-shadow'); ?>>
     48                    <div class="px-6 py-4 relative">
    4949                        <?php
    50                         // Call the content post image template area
    51                         get_template_part('template-parts/content', 'post-image');
     50                        get_template_part('template-parts/content', 'post');
    5251                        ?>
    53                         <!-- Content -->
    54                         <div class="author-post-content">
    55                             <?php
    56                             // Call the content post author meta template area
    57                             get_template_part('template-parts/content', 'post-author-meta');
    58 
    59                             // Call the content post template area
    60                             get_template_part('template-parts/content', 'post');
    61                             ?>
    62                         </div>
    6352                    </div>
    6453                </article>
  • letterra/1.0.3/template-parts/content-wrapper-end.php

    r350985 r354930  
    4343<?php endif; ?>
    4444</div>
    45 
    46 <?php if ($has_sidebar && !$is_search && !is_page() && !is_page_template()) : ?>
    47     <aside class="sidebar-area">
    48         <?php get_sidebar(); ?>
    49     </aside>
    50 <?php endif; ?>
    5145</div>
    5246</main>
  • letterra/1.0.3/template-parts/content-wrapper-start.php

    r350985 r354930  
    8787    <?php } ?>
    8888
    89     <?php
    90     if (is_author()):
    91         get_template_part('template-parts/content', 'author-info');
    92         get_template_part('template-parts/content', 'author-archive', array("author_id" => $author_id, "current_cat" => $current_cat, "current_tag" => $current_tag));
    93     endif;
    94 
    95     // Archive data for archive pages.
    96     if (is_category() || is_tag() || is_search()) {
    97 
    98         $is_category = is_category();
    99         $is_tag = is_tag();
    100         $is_search = is_search();
    101 
    102         if ($is_category) {
    103             $archive_label = __('Category:', 'letterra');
    104             $archive_title = single_cat_title('', false);
    105             $archive_description = category_description();
    106         } elseif ($is_tag) {
    107             $archive_label = __('Tag:', 'letterra');
    108             $archive_title = single_tag_title('', false);
    109             $archive_description = tag_description();
    110         } else {
    111             $archive_label = __('Search Results for:', 'letterra');
    112             $archive_title = get_search_query();
    113             $archive_description = '';
    114             $archive_description = '';
    115         }
    116     ?>
    117         <div class="custom-container archive-main-wrap">
    118             <div class="archive-wrapper">
    119                 <h1>
    120                     <span> <?php echo esc_html($archive_label); ?> </span>
    121                     <span class="archive-selected-category"><?php echo esc_html($archive_title); ?> </span>
    122                 </h1>
    123                 <div>
    124                     <?php
    125                     if (!is_author()):
    126                         echo letterra_view_all_taxonomy_links();
    127                     endif;
    128                     ?>
    129                 </div>
    130             </div>
    131 
    132             <?php if ($archive_description) : ?>
    133                 <div class="archive-description"><?php echo wp_kses_post($archive_description); ?> </div>
    134             <?php endif; ?>
    135 
    136             <?php if ($is_search) : ?> <p class="archive-description"> <?php esc_html_e('Browse relevant articles, insights, and resources related to your search.', 'letterra'); ?> </p> <?php endif; ?>
    137         </div>
    138     <?php } ?>
    139 
    14089    <!-- Container Starts -->
    14190    <div class="
    … …  
    14392            <?php if ($is_search): echo 'py-10';
    14493            endif; ?>
    145             <?php echo esc_attr(($has_sidebar && !$is_search && !is_page_template() && !is_page()) ? 'with-sidebar two-columns' : ''); ?>
     94            <?php echo esc_attr(($has_sidebar && !$is_search && !is_page_template() && !is_page()) ? 'with-sidebar' : ''); ?>
    14695            <?php echo (!empty($current_cat) || !empty($current_tag)) ? '!pt-4' : 'py-10'; ?>
    14796        ">
    … …  
    15099        <div class="<?php echo esc_attr(($has_sidebar && ! $is_search && !is_page_template() && !is_page()) ? 'content-area' : 'w-full'); ?>">
    151100            <?php
     101                if (!is_page_template() && !is_page() && !is_single()):
    152102
    153             if (!is_page_template() && !is_page() && !is_single()):
     103                    if ( is_home() && get_queried_object_id() === (int) get_option( 'page_for_posts' ) ) {
     104                        echo letterra_render_about_sidebar();
     105                    }
     106
     107                    // Archive data for archive pages.
     108                    if (is_category() || is_tag() || is_search()) {
     109
     110                        $is_category = is_category();
     111                        $is_tag = is_tag();
     112                        $is_search = is_search();
     113
     114                        if ($is_category) {
     115                            $archive_label = __('Category:', 'letterra');
     116                            $archive_title = single_cat_title('', false);
     117                            $archive_description = category_description();
     118                        } elseif ($is_tag) {
     119                            $archive_label = __('Tag:', 'letterra');
     120                            $archive_title = single_tag_title('', false);
     121                            $archive_description = tag_description();
     122                        } else {
     123                            $archive_label = __('Search Results for:', 'letterra');
     124                            $archive_title = get_search_query();
     125                            $archive_description = '';
     126                            $archive_description = '';
     127                        }
     128                    ?>
     129                        <div class="sidebar-about-wrapper sidebar-wrapper">
     130                            <div class="relative overflow-hidden pt-0 pb-5 text-center">
     131                                <h3 class="sidebar-title about-title"><?php echo esc_html($archive_label); ?></h3>
     132                                <h1 class="text-3xl font-bold text-grey mb-2 mt-1"><?php echo esc_html($archive_title); ?></h1>
     133                                <?php if ($archive_description) : ?>
     134                                    <div class="sidebar-about-content"><?php echo wp_kses_post($archive_description); ?> </div>
     135                                <?php endif; ?>
     136                                <?php if ($is_search) : ?> <p class="text-gray-500 text-center"> <?php esc_html_e('Browse relevant articles, insights, and resources related to your search.', 'letterra'); ?> </p> <?php endif; ?>
     137                            </div>
     138                    <?php }
     139
     140                    if (is_author()):
     141                        get_template_part('template-parts/content', 'author-info');
     142                        get_template_part('template-parts/content', 'author-archive', array("author_id" => $author_id, "current_cat" => $current_cat, "current_tag" => $current_tag));
     143                    endif;
     144
     145                    echo letterra_render_categories( array( 'limit' => 10 ) );
     146                    get_search_form();
    154147            ?>
    155148
    156                 <!-- Wrapper Area Starts -->
    157                 <div class="<?php echo esc_attr($post_wrapper_class); ?>">
     149                    <!-- Wrapper Area Starts -->
     150                    <div class="<?php echo esc_attr($post_wrapper_class); ?>">
    158151                <?php endif;
  • letterra/1.0.3/templates/template-categories.php

    r350985 r354930  
    1212
    1313<main id="primary" class="full-width-template">
    14     <div class="custom-container archive-main-wrap">
     14    <div class="custom-container">
    1515        <?php
    1616        echo letterra_render_categories(
Note: See TracChangeset for help on using the changeset viewer.