titlepage.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. <?php
  2. /*
  3. Template Name: Titlepage
  4. */
  5. function catch_that_image() {
  6. // echo "<!-- catch_that_image! -->\n";
  7. $custom_query = new WP_Query( array( 'post_type' => 'post',
  8. 'posts_per_page' => 1,
  9. 'post_status' => 'publish',
  10. ) );
  11. if ( $custom_query->have_posts() ) {
  12. // echo "<!-- if have_posts -->\n";
  13. while ( $custom_query->have_posts() ) {
  14. // echo "<!-- while have_posts -->\n";
  15. $custom_query->the_post();
  16. $post = get_post();
  17. /* echo "<!-- post: ", print_r($post, true), " -->\n"; */
  18. // $url = get_permalink($post->ID);
  19. $url = get_permalink();
  20. $title = get_the_title($post->ID);
  21. // echo "<!-- url: $url -->\n";
  22. $content = wp_seo_get_description($post);
  23. // echo "<!-- content: $content -->\n";
  24. $keys = wp_seo_get_keywords($post);
  25. echo "<!-- keys: $keys -->\n";
  26. $image = false;
  27. if ( get_attached_media('image') ) {
  28. $image = array_shift(get_attached_media('image'));
  29. $image = $image->ID;
  30. }
  31. if (! $image) {
  32. $image = get_post_thumbnail_id();
  33. }
  34. if ( $image ) {
  35. $full = wp_get_attachment_image_src($image,'full');
  36. return [$full, $url, $title, $content, $keys];
  37. }
  38. }
  39. }
  40. wp_reset_postdata();
  41. return [$image, $url, $title, $content, $keys];
  42. }
  43. /* get_header(); */
  44. ?>
  45. <!doctype html>
  46. <html <?php language_attributes(); ?> <?php twentytwentyone_the_html_classes(); ?>>
  47. <head>
  48. <meta charset="<?php bloginfo( 'charset' ); ?>" />
  49. <meta name="viewport" content="width=device-width, initial-scale=1" />
  50. <?php wp_head();
  51. [$image_url, $post_url, $post_title, $post_content, $post_keywords] = catch_that_image(); ?>
  52. <!-- after wp_head -->
  53. <meta name="description" content="<?php echo $post_content ?>">
  54. <meta name="keywords" content="<?php echo $post_keywords ?>">
  55. <!-- <meta name="robots" content="index,follow"> -->
  56. <title><?php echo $post_title ?> // Markus Spring Photography</title>
  57. <meta property="og:locale" content="en_GB" />
  58. <meta property='og:url' content='<?php echo get_site_url() ?>'>
  59. <meta property='og:type' content='article'>
  60. <meta property='og:title' content='<?php echo $post_title ?>'>
  61. <meta property='og:site_name' content='Markus Spring Photography // spring2life'>
  62. <meta property='og:description' content='<?php echo $post_content ?>'>
  63. <meta property='og:image' content='<?php echo $image_url[0] ?>'>
  64. <style>
  65. /* --------------------------------------------- animated burger menu --- */
  66. /* from https://www.cssscript.com/morphing-side-menu-with-pure-css-css3/ */
  67. .menu {
  68. position:fixed;
  69. /* position: absolute; */
  70. top: 0;
  71. left: 0;
  72. z-index: 1000;
  73. height: 70px;
  74. width: 70px;
  75. overflow: hidden;
  76. pointer-events: none;
  77. -webkit-user-select: none;
  78. -moz-user-select: none;
  79. -ms-user-select: none;
  80. user-select: none;
  81. }
  82. .menu * {
  83. -webkit-backface-visibility: hidden;
  84. backface-visibility: hidden;
  85. }
  86. #menuTrigger:checked ~ .menu { pointer-events: auto; }
  87. #menuTrigger:checked ~ .menu h3 {
  88. -webkit-transform: translate3d(0, 0, 0);
  89. transform: translate3d(0, 0, 0);
  90. -webkit-transition-delay: 0.2s;
  91. transition-delay: 0.2s;
  92. }
  93. #menuTrigger:checked ~ header>.site-branding p {
  94. color: green !important;
  95. display: flex !important;
  96. }
  97. .menu ~ header {
  98. display: none !important;
  99. }
  100. #menuTrigger:checked ~ header {
  101. display: flex !important;
  102. }
  103. #menuTrigger:checked ~ #masthead {
  104. -webkit-transform: translate3d(0, 0, 0);
  105. transform: translate3d(0, 0, 0);
  106. -webkit-transition-delay: 0.2s;
  107. transition-delay: 0.2s;
  108. }
  109. .menu .trigger {
  110. position: absolute;
  111. z-index: 0;
  112. top: 10px;
  113. left: 10px;
  114. height: 56px;
  115. width: 56px;
  116. border-radius: 100%;
  117. cursor: pointer;
  118. pointer-events: auto;
  119. -webkit-transition: all 0.4s ease-in-out;
  120. transition: all 0.4s ease-in-out;
  121. -webkit-transition-property: -webkit-transform, box-shadow;
  122. transition-property: transform, box-shadow;
  123. -webkit-transform: translate3d(0, 0, 0);
  124. transform: translate3d(0, 0, 0);
  125. box-shadow: 0 0 0 0px #424242;
  126. }
  127. .menu .trigger:before {
  128. content: '';
  129. position: absolute;
  130. top: 0;
  131. left: 0;
  132. height: 100%;
  133. width: 100%;
  134. border-radius: inherit;
  135. overflow: hidden;
  136. -webkit-transform: translate3d(0, 0, 0);
  137. transform: translate3d(0, 0, 0);
  138. -webkit-transition: box-shadow 0.2s 0.4s ease-in-out;
  139. transition: box-shadow 0.2s 0.4s ease-in-out;
  140. box-shadow: 0 0 0 28px #424242 inset, 0 0 0 28px #FF5722 inset;
  141. }
  142. #menuTrigger:checked ~ .menu .trigger {
  143. /* -webkit-transform: translate3d(94px, 0, 0); */
  144. /* transform: translate3d(94px, 0, 0); */
  145. /* box-shadow: 0 0 0 370px #424242; */
  146. }
  147. #menuTrigger:checked ~ .menu .trigger:before {
  148. -webkit-transition-delay: 0s;
  149. transition-delay: 0s;
  150. box-shadow: 0 0 0 0 #424242 inset, 0 0 0 28px #FF5722 inset;
  151. }
  152. #menuTrigger:checked ~ .menu .trigger .line:nth-child(1) {
  153. -webkit-transform: translateY(0) translate3d(-50%, -50%, 0);
  154. transform: translateY(0) translate3d(-50%, -50%, 0);
  155. }
  156. #menuTrigger:checked ~ .menu .trigger .line:nth-child(3) {
  157. -webkit-transform: translateY(0) translate3d(-50%, -50%, 0);
  158. transform: translateY(0) translate3d(-50%, -50%, 0);
  159. }
  160. .menu .trigger .line {
  161. position: absolute;
  162. top: 50%;
  163. left: 50%;
  164. background: white;
  165. height: 2px;
  166. width: 18.66667px;
  167. -webkit-transform: translate3d(-50%, -50%, 0);
  168. transform: translate3d(-50%, -50%, 0);
  169. -webkit-transition: -webkit-transform 0.4s ease-in-out;
  170. transition: transform 0.4s ease-in-out;
  171. }
  172. .menu .trigger .line:nth-child(1) {
  173. -webkit-transform: translateY(-5px) translate3d(-50%, -50%, 0);
  174. transform: translateY(-5px) translate3d(-50%, -50%, 0);
  175. }
  176. .menu .trigger .line:nth-child(3) {
  177. -webkit-transform: translateY(5px) translate3d(-50%, -50%, 0);
  178. transform: translateY(5px) translate3d(-50%, -50%, 0);
  179. }
  180. #menuTrigger {
  181. position: fixed;
  182. top: 0;
  183. left: -60px;
  184. }
  185. /* ----------------------------------------- end animated burger menu --- */
  186. /* ------------------------------------------------------ hide footer --- */
  187. .site-info {
  188. display: none !important;
  189. }
  190. /* -------------------------------------------------- full size image --- */
  191. * {
  192. margin: 0;
  193. padding: 0;
  194. }
  195. .imgbox {
  196. display: grid;
  197. height: 100%;
  198. /* -webkit-animation: sk-bouncedelay 3s infinite ease-in-out both;
  199. animation: sk-bouncedelay 3s infinite ease-in-out both; */
  200. }
  201. .center-fit {
  202. max-width: 100%;
  203. max-height: 100vh;
  204. /* max-width: 99%;
  205. max-height: 99vh; */
  206. margin: auto;
  207. }
  208. @media all and (device-width: 768px) and (device-height: 1024px) {
  209. .imgbox {
  210. /* height: 100vh; */
  211. height: 100%;
  212. display: flex;
  213. /* background-color: red; */
  214. }
  215. .center-fit {
  216. position: relative;
  217. display:block;
  218. /* top: 50%;
  219. left: 50%;
  220. transform: translate(-50%, -50%); */
  221. ;
  222. }
  223. </style>
  224. <!-- <link rel="stylesheet" href="/wp-content/themes/twentytwentyone-child-spring2life/titlepage.css.min"> -->
  225. <!-- <link rel="stylesheet" href="https://tobiasahlin.com/css/spinkit.css"> -->
  226. </head>
  227. <body <?php body_class(); ?>>
  228. <!-- <div class="cr cr-top cr-right cr-sticky cr-black">#SupportUkraine</div> -->
  229. <div class="cr cr-top cr-right cr-sticky cr-black">Нет войне!</div>
  230. <?php wp_body_open(); ?>
  231. <div id="page" class="site" style="height: 100vh; ">
  232. <a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'twentytwentyone' ); ?></a>
  233. <?php /* [$image_url, $post_url, $post_title, $post_content, $post_keywords] = catch_that_image(); */
  234. get_template_part( 'template-parts/header/titlepage-header' ); ?>
  235. <a href='<?php echo $post_url ?>'>
  236. <div class="imgbox">
  237. <!-- <div class="sk-bounce skauto">
  238. <div class="sk-bounce-dot"></div>
  239. <div class="sk-bounce-dot"></div>
  240. </div> -->
  241. <img class="center-fit" src='<?php echo $image_url[0] ?>'>
  242. </div>
  243. </a>
  244. </div>
  245. <?php get_footer(); ?>
  246. </body>