From b9868212cd56b8f2615a1470e0deb04921392c65 Mon Sep 17 00:00:00 2001 From: jorge-vitrubio Date: Sat, 24 Dec 2022 18:41:07 +0100 Subject: [PATCH] added custom post type for `ajuts` --- assets/css/ofisuport-wpplugin-styles.css | 1485 +++++++++++++++++++++- includes/custom-post-type-ajuts.php | 227 ++++ includes/plugin-settings-pannel.php | 22 + ofisuport-wp-plugin.php | 19 +- 4 files changed, 1747 insertions(+), 6 deletions(-) create mode 100644 includes/custom-post-type-ajuts.php diff --git a/assets/css/ofisuport-wpplugin-styles.css b/assets/css/ofisuport-wpplugin-styles.css index a71467f..054034d 100644 --- a/assets/css/ofisuport-wpplugin-styles.css +++ b/assets/css/ofisuport-wpplugin-styles.css @@ -10,8 +10,1491 @@ * License: GPL 3.0 * License URI: https://www.gnu.org/licenses/gpl-3.0.html * - * ofisuport wp plugin styles + * ofisuport wp plugin styles for admin view * * css styles * */ + + +/*! + +Theme Name: Oficina de Suport theme +Theme URI: http://underscores.me/ +Author: jorge-vitrubio.net +Author URI: https://vitrubio.net +Description: theme for the Oficina de Suport de Xarxaprod.cat +Version: 1.0.0 +Tested up to: 5.4 +Requires PHP: 5.6 +License: GNU General Public License v2 or later +License URI: LICENSE +Text Domain: ofisuport +Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready + +This theme, like WordPress, is licensed under the GPL. +Use it to make something cool, have fun, and share what you've learned. + +Oficina de Suport theme is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc. +Underscores is distributed under the terms of the GNU GPL v2 or later. + +Normalizing styles have been helped along thanks to the fine work of +Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/ +*/ + +/*-------------------------------------------------------------- +>>> TABLE OF CONTENTS: +---------------------------------------------------------------- +# Generic + - Normalize + - Box sizing +# Base + - Typography + - Elements + - Links + - Forms +## Layouts +# Components + - Navigation + - Posts and pages + - Comments + - Widgets + - Media + - Captions + - Galleries +# plugins + - Jetpack infinite scroll +# Utilities + - Accessibility + - Alignments + +--------------------------------------------------------------*/ + +/*-------------------------------------------------------------- +# Generic +--------------------------------------------------------------*/ + +/* Normalize +--------------------------------------------- */ + +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; + -webkit-text-size-adjust: 100%; +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + font-size: 100%; + line-height: 1.15; + margin: 0; +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal; +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + padding: 0; +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +/* Box sizing +--------------------------------------------- */ + +/* Inherit box-sizing to more easily change it's value on a component level. +@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */ +*, +*::before, +*::after { + box-sizing: inherit; +} + +html { + box-sizing: border-box; +} + +/*-------------------------------------------------------------- +# Base +--------------------------------------------------------------*/ + +/* Typography +--------------------------------------------- */ +body, +button, +input, +select, +optgroup, +textarea { + color: #404040; + font-family: din-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1rem; + line-height: 1.3; +} + +@media screen { + + h1, + h2, + h3, + h4, + h5 { + text-transform: uppercase; + clear: both; + } + + h1 { + font-family: din-light, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.8rem; + } + + h2 { + font-family: din-light, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.5rem; + } + + h3 { + font-family: din-black, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.3rem; + } + + h4 { + font-family: din-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.2rem; + } + + h5 { + font-family: din-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.1rem; + } + + h6 { + font-family: din-light, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.1rem; + } +} + +@media screen and (min-width: 48em) { + + h1 { + font-size: 3.5rem; + } + + h2 { + font-size: 2.5rem; + } + + h3 { + font-size: 2rem; + } + + h4 { + font-family: din-black, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 1.7rem; + } + + h5 { + font-size: 1.5rem; + } + + h6 { + font-size: 1.5rem; + } +} + +p { + margin-bottom: 1.5em; +} + +dfn, +cite, +em, +i { + font-style: italic; +} + +blockquote { + margin: 0; +} + +blockquote p { + font-size: 1.1rem; +} + +address { + margin: 0 0 1.5em; +} + +pre { + background: #fdfdfd; + font-family: "Courier 10 Pitch", courier, monospace; + line-height: 1.4; + margin-bottom: 1.6em; + max-width: 100%; + overflow: auto; + padding: 1.6em; +} + +code, +kbd, +tt, +var { + font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace; +} + +abbr, +acronym { + border-bottom: 1px dotted #666; + cursor: help; +} + +mark, +ins { + background: #fdfdfd; + text-decoration: none; +} + +big { + font-size: 125%; +} + +/* +Your custom style + +Add your custom styles in this file so it is easier to update the theme. +*/ +@font-face { + font-family: din-regular; + src: url("assets/fonts/DIN-Regular.eot"); + src: url("assets/fonts/DIN-Regular.eot?#iefix") format("embedded-opentype"), url("assets/fonts/DIN-Regular.woff2") format("woff2"), url("assets/fonts/DIN-Regular.woff") format("woff"), url("assets/fonts/DIN-Regular.ttf") format("truetype"), url("assets/fonts/DIN-Regular.svg#fonts/DIN-Regular") format("svg"); + font-weight: 100; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: din-medium; + src: url("assets/fonts/DIN-Medium.eot"); + src: url("assets/fonts/DIN-Medium.eot?#iefix") format("embedded-opentype"), url("assets/fonts/DIN-Medium.woff2") format("woff2"), url("assets/fonts/DIN-Medium.woff") format("woff"), url("assets/fonts/DIN-Medium.ttf") format("truetype"), url("assets/fonts/DIN-Medium.svg#DIN-Medium") format("svg"); + font-weight: 100; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: din-bold; + src: url("assets/fonts/DIN-Bold.eot"); + src: url("assets/fonts/DIN-Bold.eot?#iefix") format("embedded-opentype"), url("assets/fonts/DIN-Bold.woff2") format("woff2"), url("assets/fonts/DIN-Bold.woff") format("woff"), url("assets/fonts/DIN-Bold.ttf") format("truetype"), url("assets/fonts/DIN-Bold.svg#DIN-Bold") format("svg"); + font-weight: 100; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: din-light; + src: url("assets/fonts/DIN-Light.eot"); + src: url("assets/fonts/DIN-Light.eot?#iefix") format("embedded-opentype"), url("assets/fonts/DIN-Light.woff2") format("woff2"), url("assets/fonts/DIN-Light.woff") format("woff"), url("assets/fonts/DIN-Light.ttf") format("truetype"), url("assets/fonts/DIN-Light.svg#DIN-Light") format("svg"); + font-weight: 100; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: din-black; + src: url("assets/fonts/DIN-Black.eot"); + src: url("assets/fonts/DIN-Black.eot?#iefix") format("embedded-opentype"), url("assets/fonts/DIN-Black.woff2") format("woff2"), url("assets/fonts/DIN-Black.woff") format("woff"), url("assets/fonts/DIN-Black.ttf") format("truetype"), url("assets/fonts/DIN-Black.svg#DIN-Black") format("svg"); + font-weight: 900; + font-style: normal; + font-display: swap; +} + +/* Elements +--------------------------------------------- */ +body { + background: #fff; +} + +hr { + background-color: #000; + border: 0; + height: 1px; + margin-bottom: 1.5em; +} + +ul, +ol { + margin: 0 0 1.5em 3em; +} + +ul { + list-style: disc; +} + +ol { + list-style: decimal; +} + +li > ul, +li > ol { + margin-bottom: 0; + margin-left: 1.5em; +} + +dt { + font-weight: 700; +} + +dd { + margin: 0 1.5em 1.5em; +} + +/* Make sure embeds and iframes fit their containers. */ +embed, +iframe, +object { + max-width: 100%; +} + +img { + height: auto; + max-width: 100%; +} + +figure { + margin: 1em 0; +} + +table { + margin: 0 0 1.5em; + width: 100%; +} + +/* Links +--------------------------------------------- */ +a { + color: #333; +} + +a:visited { + color: #505050; +} + +a:hover, +a:focus, +a:active { + color: #707070; +} + +a:focus { + outline: thin dotted; +} + +a:hover, +a:active { + outline: 0; +} + +/* Forms +--------------------------------------------- */ +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +.wp-block-button__link { + border: 1px solid; + border-color: #000; + border-radius: 0; + background: #fff; + color: #111; + line-height: 1; + padding: 0.6em 1em 0.4em; + text-transform: uppercase; +} + +button:hover, +input[type="button"]:hover, +input[type="reset"]:hover, +input[type="submit"]:hover, +.wp-block-button__link:hover { + border-color: #111; +} + +button:active, +button:focus, +input[type="button"]:active, +input[type="button"]:focus, +input[type="reset"]:active, +input[type="reset"]:focus, +input[type="submit"]:active, +input[type="submit"]:focus, +.wp-block-button__link:active, +.wp-block-button__link:focus { + border-color: #222; +} + +input[type="text"], +input[type="email"], +input[type="url"], +input[type="password"], +input[type="search"], +input[type="number"], +input[type="tel"], +input[type="range"], +input[type="date"], +input[type="month"], +input[type="week"], +input[type="time"], +input[type="datetime"], +input[type="datetime-local"], +input[type="color"], +textarea { + color: #333; + background-color: #eee; + border: none; + border-radius: 0; + width: 100%; + padding: 0.3rem; +} + +input[type="text"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="password"]:focus, +input[type="search"]:focus, +input[type="number"]:focus, +input[type="tel"]:focus, +input[type="range"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="week"]:focus, +input[type="time"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="color"]:focus, +textarea:focus { + color: #000; +} + +select { + border: 1px solid #000; +} + +textarea { + width: 100%; +} + +/*-------------------------------------------------------------- +# Layouts +--------------------------------------------------------------*/ +@media screen { + + .no-sidebar .site { + display: grid; + grid-template-columns: auto; + grid-template-areas: "header" "main" "footer"; + margin: auto; + padding: 0 1rem; + max-width: 80em; + } + + .no-sidebar .site-header { + position: sticky; + z-index: 900; + top: 0; + height: 10rem; + margin-bottom: 2rem; + background-color: white; + } + + .no-sidebar .site-header::after { + content: ""; + display: inline-block; + width: 100%; + height: 5rem; + position: absolute; + top: 10rem; + background-image: linear-gradient(white 0%, rgba(255, 255, 255, 0.95) 5%, rgba(255, 255, 255, 0.738) 19%, rgba(255, 255, 255, 0.541) 34%, rgba(255, 255, 255, 0.382) 47%, rgba(255, 255, 255, 0.278) 56.5%, rgba(255, 255, 255, 0.194) 65%, rgba(255, 255, 255, 0.126) 73%, rgba(255, 255, 255, 0.075) 80.2%, rgba(255, 255, 255, 0.042) 86.1%, rgba(255, 255, 255, 0.021) 91%, rgba(255, 255, 255, 0.008) 95.2%, rgba(255, 255, 255, 0.002) 98.2%, rgba(255, 255, 255, 0) 100%); + } + + .no-sidebar .site-header .main { + display: flex; + flex-flow: row; + align-items: center; + justify-content: space-around; + } + + .no-sidebar .site-header .secondary { + display: flex; + flex-flow: column; + align-items: center; + } + + .no-sidebar .site-main h1, + .no-sidebar .site-main h2, + .no-sidebar .site-main h3, + .no-sidebar .site-main h4, + .no-sidebar .site-main h5, + .no-sidebar .site-main h6, + .no-sidebar .site-main .entry-content { + margin: 0; + } +} + +@media screen and (min-width: 48em) { + + .no-sidebar .site { + padding: 0 2rem; + } + + .no-sidebar .site-header .main { + flex-flow: column; + border-bottom: 1px solid #eee; + } +} + +@media screen and (min-width: 80em) { + + .no-sidebar .site { + padding: 0 3rem; + } + + .no-sidebar .site-header .main { + flex-flow: row; + align-items: center; + justify-content: space-between; + } +} + +/*-------------------------------------------------------------- +# Components +--------------------------------------------------------------*/ + +/* Navigation +--------------------------------------------- */ +@media screen { + + .hide-content { + display: block; + width: 0; + height: 0; + margin: 0; + padding: 0; + overflow: hidden; + } + + .custom-logo { + min-width: 11rem; + margin: 1rem; + } + + .main-navigation ul, + .secondary-navigation ul { + display: none; + list-style: none; + margin: 0; + padding-left: 0; + } + + .main-navigation ul ul, + .secondary-navigation ul ul { + box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); + float: left; + position: absolute; + top: 100%; + left: -999em; + z-index: 99999; + } + + .main-navigation ul ul ul, + .secondary-navigation ul ul ul { + left: -999em; + top: 0; + } + + .main-navigation ul ul li:hover > ul, + .main-navigation ul ul li.focus > ul, + .secondary-navigation ul ul li:hover > ul, + .secondary-navigation ul ul li.focus > ul { + display: block; + left: auto; + } + + .main-navigation ul ul a, + .secondary-navigation ul ul a { + width: 200px; + } + + .main-navigation ul li:hover > ul, + .main-navigation ul li.focus > ul, + .secondary-navigation ul li:hover > ul, + .secondary-navigation ul li.focus > ul { + left: auto; + } + + .main-navigation li, + .secondary-navigation li { + position: relative; + } + + .main-navigation a, + .secondary-navigation a { + display: flex; + align-items: center; + min-height: 100%; + padding: 0 0.5rem; + text-decoration: none; + font-size: 1rem; + } + + .main-navigation .current_page_item > a, + .main-navigation .current-menu-item > a, + .main-navigation .current_page_ancestor > a, + .main-navigation .current-menu-ancestor > a, + .secondary-navigation .current_page_item > a, + .secondary-navigation .current-menu-item > a, + .secondary-navigation .current_page_ancestor > a, + .secondary-navigation .current-menu-ancestor > a { + font-weight: 700; + font-family: din-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + border-left: 1px solid #000; + } + .main-navigation a[href^="http://localhost"], + .main-navigation a[href^="http://oficinasuport.xarxaprod.cat"], + .main-navigation a[href^="https://oficinasuport.xarxaprod.cat"] { + font-family: din-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + border-left: 1px solid #000; + } + + .secondary-navigation { + padding: 1em 0; + } + + .secondary-navigation ul { + display: inline-block; + } + + .secondary-navigation ul li { + padding: 0.5em 0; + } + + .secondary-navigation a { + text-transform: uppercase; + } + + /* begin of menu-hidden */ + .toogle-secondary-navigation .show-mobile { + display: inherit; + } + + .toogle, + .toogled-menu { + display: none; + } + + .toogle:checked + .toogled-menu { + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100vh; + margin-top: 0; + padding: 7em 4em 0 4em; + background-color: #fff; + } + + .toogle-show { + position: relative; + display: inline-block; + width: 1.8em; + height: 1.4em; + margin-right: 0.3em; + border-top: 0.3em solid #000; + border-bottom: 0.3em solid #000; + } + + .toogle-show::before { + content: ""; + position: absolute; + top: 0.3em; + left: 0; + width: 100%; + border-top: 0.3em solid #000; + } + + .toogle-hide { + display: flex; + justify-content: center; + } + + .toogle-hide::after { + content: "x"; + padding: 0; + font-size: 3rem; + font-weight: 700; + } + + /* end of menu hidden*/ + + /* Small menu. */ + .menu-toggle, + .main-navigation.toggled ul { + display: block; + } +} + +@media screen and (min-width: 48em) { + + .custom-logo { + min-width: 11rem; + margin: 1rem 1rem 1rem 0; + } + + .menu-toggle { + display: none; + } + + .main-navigation ul, + .secondary-navigation ul { + display: flex; + } + + .main-navigation a, + .secondary-navigation a { + padding: 0 0.5rem; + } + + .main-navigation .current_page_item > a, + .main-navigation .current-menu-item > a, + .main-navigation .current_page_ancestor > a, + .main-navigation .current-menu-ancestor > a, + .secondary-navigation .current_page_item > a, + .secondary-navigation .current-menu-item > a, + .secondary-navigation .current_page_ancestor > a, + .secondary-navigation .current-menu-ancestor > a { + border-left: none; + } + + .main-navigation { + padding-bottom: 1em; + } + + .main-navigation ul { + justify-content: end; + } + .main-navigation a[href^="http://localhost"], + .main-navigation a[href^="http://oficinasuport.xarxaprod.cat"], + .main-navigation a[href^="https://oficinasuport.xarxaprod.cat"] { + font-family: din-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + border-left: none; + } + .main-navigation a[href^="http://localhost"]::after, + .main-navigation a[href^="http://oficinasuport.xarxaprod.cat"]::after, + .main-navigation a[href^="https://oficinasuport.xarxaprod.cat"]::after, + .main-navigation .current-menu-item a::after { + display: inline-block; + content: ""; + position: absolute; + left: 5%; + min-height: 2px; + height: 100%; + width: 90%; + margin-top: 2.3em; + border-bottom: 0.3rem solid #000; + } + + .secondary-navigation { + padding: 1.5em 0; + } + + /* + * css menu toogler + * */ + .toogle-secondary-navigation .show-mobile, + .toogle-secondary-navigation .hide-not-mobile { + display: none; + } + + .toogled-menu { + display: inherit; + } + + /* end css menu toogler + * */ +} + +.site-main .comment-navigation, +.site-main +.posts-navigation, +.site-main +.post-navigation { + margin: 0 0 1.5em; +} + +.comment-navigation .nav-links, +.posts-navigation .nav-links, +.post-navigation .nav-links { + display: flex; +} + +.comment-navigation .nav-previous, +.posts-navigation .nav-previous, +.post-navigation .nav-previous { + flex: 1 0 50%; +} + +.comment-navigation .nav-next, +.posts-navigation .nav-next, +.post-navigation .nav-next { + text-align: end; + flex: 1 0 50%; +} + +@media screen and (min-width: 80em) { + + .main-navigation .toogle-sidebar-segona .show-mobile, + .main-navigation .toogle-sidebar-segona .hide-not-mobile, + .secondary-navigation .toogle-sidebar-segona .show-mobile, + .secondary-navigation .toogle-sidebar-segona .hide-not-mobile { + display: none; + } + + .main-navigation a, + .secondary-navigation a { + padding: 0 1rem; + } + + .main-navigation { + padding-bottom: 0; + } + .main-navigation a[href^="http://localhost"]::after, + .main-navigation a[href^="http://oficinasuport.xarxaprod.cat"]::after, + .main-navigation a[href^="https://oficinasuport.xarxaprod.cat"]::after, + .main-navigation .current-menu-item a::after { + margin-top: 5em; + } +} + +/* Posts and pages +--------------------------------------------- */ +.sticky { + display: block; +} + +.post, +.page { + margin: 0 0 1.5em; +} + +.updated:not(.published) { + display: none; +} + +.page-content, +.entry-content, +.entry-summary { + margin: 1.5em 0 0; +} + +.page-links { + clear: both; + margin: 0 0 1.5em; +} + +/* Comments +--------------------------------------------- */ +.comment-content a { + word-wrap: break-word; +} + +.bypostauthor { + display: block; +} + +/* Widgets +--------------------------------------------- */ +.widget { + margin: 0 0 1.5em; +} + +.widget select { + max-width: 100%; +} + +/* Media +--------------------------------------------- */ +.page-content .wp-smiley, +.entry-content .wp-smiley, +.comment-content .wp-smiley { + border: none; + margin-bottom: 0; + margin-top: 0; + padding: 0; +} + +/* Make sure logo link wraps around logo image. */ +.custom-logo-link { + display: inline-block; +} + +/* Captions +--------------------------------------------- */ +.wp-caption { + margin-bottom: 1.5em; + max-width: 100%; +} + +.wp-caption img[class*="wp-image-"] { + display: block; + margin-left: auto; + margin-right: auto; +} + +.wp-caption .wp-caption-text { + margin: 0.8075em 0; +} + +.wp-caption-text { + text-align: center; +} + +/* Galleries +--------------------------------------------- */ +.gallery { + margin-bottom: 1.5em; + display: grid; + grid-gap: 1.5em; +} + +.gallery-item { + display: inline-block; + text-align: center; + width: 100%; +} + +.gallery-columns-2 { + grid-template-columns: repeat(2, 1fr); +} + +.gallery-columns-3 { + grid-template-columns: repeat(3, 1fr); +} + +.gallery-columns-4 { + grid-template-columns: repeat(4, 1fr); +} + +.gallery-columns-5 { + grid-template-columns: repeat(5, 1fr); +} + +.gallery-columns-6 { + grid-template-columns: repeat(6, 1fr); +} + +.gallery-columns-7 { + grid-template-columns: repeat(7, 1fr); +} + +.gallery-columns-8 { + grid-template-columns: repeat(8, 1fr); +} + +.gallery-columns-9 { + grid-template-columns: repeat(9, 1fr); +} + +.gallery-caption { + display: block; +} + +/*-------------------------------------------------------------- +# Plugins +--------------------------------------------------------------*/ + +/* Jetpack infinite scroll +--------------------------------------------- */ + +/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */ +.infinite-scroll .posts-navigation, +.infinite-scroll.neverending .site-footer { + display: none; +} + +/* Re-display the Theme Footer when Infinite Scroll has reached its end. */ +.infinity-end.neverending .site-footer { + display: block; +} + +/* Guttenberg +--------------------------------------------- */ +.black-blocs { + padding: 1rem 0; + gap: 1rem; +} + +.black-blocs .wp-block-column { + align-self: auto; + display: flex; + flex-direction: column; + position: relative; + min-height: 17rem; + padding: 1rem; +} + +.black-blocs .wp-block-column h1, +.black-blocs .wp-block-column h2, +.black-blocs .wp-block-column h3, +.black-blocs .wp-block-column h4, +.black-blocs .wp-block-column h5, +.black-blocs .wp-block-column h6 { + min-height: 4.8rem; + font-family: din-black, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 2.3rem; + line-height: 1.04; +} + +.black-blocs .wp-block-column p { + font-family: din-bold, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 0.9rem; +} + +.black-blocs .wp-block-column .big-plus-wrapper { + position: absolute; + bottom: 0; +} + +.black-blocs .wp-block-column .big-plus.white .wp-block-button__link { + margin: 0; + padding: 0; + color: white; + background-color: transparent; + font-size: 4.5rem; + line-height: 0; + font-weight: 700; + font-family: din-black, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +/* Contact Form 7 +--------------------------------------------- */ +.wpcf7-not-valid:not(:focus) { + background-color: #ff686e; +} + +.wpcf7-not-valid-tip { + color: #ff686e; +} + +.wpcf7 form.invalid .wpcf7-response-output, +.wpcf7 form.unaccepted .wpcf7-response-output, +.wpcf7 form.payment-required .wpcf7-response-output { + border-color: #f6cc4c; + background-color: #f6cc4c; + color: #fff; + font-family: din-medium; + font-weight: 700; + text-align: center; + margin: 0; + padding: 0; +} + +.wpcf7-form .contactform-name, +.wpcf7-form .wpcf7-form .contactform-email { + max-width: 40%; + display: inline-block; +} + +.wpcf7-form .contactform-name { + float: left; +} + +.wpcf7-form .contactform-email { + float: right; + margin-bottom: 1rem; +} + +.wpcf7-form .contactform-acceptance { + display: flex; + align-items: center; + justify-content: end; +} + +.wpcf7-form .wpcf7-submit { + margin-left: 1rem; +} + +.wpcf7-form .wpcf7-spinner { + margin: 0 -24px 0 0; +} + +/*-------------------------------------------------------------- +# Utilities +--------------------------------------------------------------*/ + +/* Accessibility +--------------------------------------------- */ + +/* Text meant only for screen readers. */ +.screen-reader-text { + border: 0; + clip: rect(1px, 1px, 1px, 1px); + clip-path: inset(50%); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute !important; + width: 1px; + word-wrap: normal !important; +} + +.screen-reader-text:focus { + background-color: #fff; + border-radius: 3px; + box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); + clip: auto !important; + clip-path: none; + color: #111; + display: block; + font-size: 0.875rem; + font-weight: 700; + height: auto; + left: 5px; + line-height: normal; + padding: 15px 23px 14px; + text-decoration: none; + top: 5px; + width: auto; + z-index: 100000; +} + +/* Do not show the outline on the skip link target. */ +#primary[tabindex="-1"]:focus { + outline: 0; +} + +/* Alignments +--------------------------------------------- */ +.alignleft { + + /*rtl:ignore*/ + float: left; + + /*rtl:ignore*/ + margin-right: 1.5em; + margin-bottom: 1.5em; +} + +.alignright { + + /*rtl:ignore*/ + float: right; + + /*rtl:ignore*/ + margin-left: 1.5em; + margin-bottom: 1.5em; +} + +.aligncenter { + clear: both; + display: block; + margin-left: auto; + margin-right: auto; + margin-bottom: 1.5em; +} diff --git a/includes/custom-post-type-ajuts.php b/includes/custom-post-type-ajuts.php new file mode 100644 index 0000000..93f28a4 --- /dev/null +++ b/includes/custom-post-type-ajuts.php @@ -0,0 +1,227 @@ + + * + * @internal never define functions inside callbacks. + * these functions could be run multiple times; this would result in a fatal error. + */ + +/** + * Start custom post types + * ---------------------------------------------------------------------------- + * https://developer.wordpress.org/plugins/post-types/registering-custom-post-types/ + * https://developer.wordpress.org/reference/functions/register_post_type/ + */ + + + // Register Custom Post Type + function ofisuport_wpplugin_init_custom_post_ajut() { + + $labels = array( + 'name' => _x( 'Ajuts', 'Post Tipu General Name', 'text_domain' ), + 'singular_name' => _x( 'Ajut', 'Post Tipu Singular Name', 'text_domain' ), + 'menu_name' => __( 'Ajuts', 'text_domain' ), + 'parent_item_colon' => __( 'Ajuts mare/pare:', 'text_domain' ), + 'all_items' => __( 'Tots els ajuts', 'text_domain' ), + 'view_item' => __( 'Mostra el ajut', 'text_domain' ), + 'add_new_item' => __( 'Affegeix un ajut', 'text_domain' ), + 'add_new' => __( 'Affegeix ajut', 'text_domain' ), + 'edit_item' => __( 'Edita ajut', 'text_domain' ), + 'update_item' => __( 'Desa ajut', 'text_domain' ), + 'search_items' => __( 'Cerca ajut', 'text_domain' ), + 'not_ajut' => __( 'No hem pogut trovar ningĂșn ajut ajut ', 'text_domain' ), + 'not_ajut_in_trash' => __( 'No hem trovat cap ajut a la brosa', 'text_domain' ), + ); + $rewrite = array( + 'slug' => 'ajut', + ); + // https://wordpress.stackexchange.com/questions/108338/capabilities-and-custom-post-types#108375 + // https://developer.wordpress.org/reference/functions/register_post_type/#capability_type + $capabilities = array( + 'read' => 'read_ajut', + 'publish_posts' => 'publish_ajut', + 'edit_posts' => 'edit_ajut', + 'edit_published_posts' => 'edit_published_ajut', + 'edit_others_posts' => 'edit_others_ajut', + 'delete_posts' => 'delete_ajut', + 'delete_published_posts' => 'delete_published_ajut', + 'delete_others_posts' => 'delete_others_ajuts', + 'delete_private_posts' => 'delete_private_ajuts' + ); + $args = array( + 'label' => __( 'ofisuport_ajut', 'text_domain' ), + 'description' => __( 'Ajuts', 'text_domain' ), + 'labels' => $labels, + 'supports' => array( 'title', 'editor', 'thumbnail', 'trackbacks', 'revisions', 'custom-fields', 'page-attributes' ), + 'taxonomies' => array('ofisuport_ajut_category','ofisuport_ajut_category'), + 'hierarchical' => true, + 'public' => true, + 'show_ui' => true, + 'show_in_menu' => true, + 'show_in_nav_menus' => true, + 'show_in_admin_bar' => true, + 'show_in_rest' => true, + 'menu_position' => 5, + 'menu_icon' => 'dashicons-book', + 'can_export' => true, + 'has_ofisuport' => 'ajuts', + 'exclude_from_search' => false, + 'publicly_queryable' => true, + 'capability_type' => 'post', + 'rewrite' => $rewrite, + //'capabilities' => $capabilities, + 'map_meta_cap' => true //neded to apply the new capabilities. + ); + register_post_type( 'ofisuport_ajut', $args ); + + } + + // Hook into the 'init' action + add_action( 'init', 'ofisuport_wpplugin_init_custom_post_ajut', 0 ); + + + // give capabilities once the custom post id activated + function ofisuport_wpplugin_add_caps() { + // gets the XX role + // $admins = get_role( '' ); + // $admins->add_cap( ); + // gets the administrator role + + +} +//add_action( 'admin_init', 'ofisuport_wpplugin_add_caps'); + + + +/** + * Start custom taxonomies + * ---------------------------------------------------------------------------- + * https://developer.wordpress.org/plugins/taxonomies/working-with-custom-taxonomies/ + * https://developer.wordpress.org/reference/functions/register_taxonomy/ + */ + + // Register Custom Taxonomy Category for Ajuts + function ofisuport_wpplugin_register_ajut_category() { + + $labels = array( + 'name' => _x( 'Ajuts Tipus', 'Taxonomy General Name', 'text_domain' ), + 'singular_name' => _x( 'Tipu of ajut', 'Taxonomy Singular Name', 'text_domain' ), + 'menu_name' => __( 'Ajuts Tipus', 'text_domain' ), + 'all_items' => __( 'All type ajuts', 'text_domain' ), + 'parent_item' => __( 'Parent type ajut', 'text_domain' ), + 'parent_item_colon' => __( 'Parent type ajut:', 'text_domain' ), + 'new_item_name' => __( 'New type ajut', 'text_domain' ), + 'add_new_item' => __( 'Add New type ajut', 'text_domain' ), + 'edit_item' => __( 'Edit type ajut', 'text_domain' ), + 'update_item' => __( 'Update type of ajut', 'text_domain' ), + 'separate_items_with_commas' => __( 'Separate type ajut with commas', 'text_domain' ), + 'search_items' => __( 'Search type of ajut', 'text_domain' ), + 'add_or_remove_items' => __( 'Add or remove type of ajut', 'text_domain' ), + 'choose_from_most_used' => __( 'Choose from the most used type of ajut', 'text_domain' ), + 'not_ajut' => __( 'Tipu of ajut Not Ajut', 'text_domain' ), + ); + $rewrite = array( + 'slug' => 'ajut-tipus', + ); + $capabilities = array( + 'manage_terms' => 'OficinaSuport Manage ajuts Tipus', + 'edit_terms' => 'OficinaSuport Edit ajut Tipus', + 'delete_terms' => 'OficinaSuport Delete ajuts Tipus', + 'assign_terms' => 'OficinaSuport Assign ajuts Tipus', + ); + $args = array( + 'labels' => $labels, + 'hierarchical' => true, + 'public' => true, + 'show_ui' => true, + 'show_admin_column' => true, + 'show_in_nav_menus' => true, + 'show_tagcloud' => false, + 'rewrite' => $rewrite, + //'capabilities' => $capabilities, + 'map_meta_cap' => true //neded to apply the new capabilities. + + ); + register_taxonomy( 'ofisuport_ajut_category', array( 'ofisuport_ajut' ) , $args ); + } + + // Hook into the 'init' action + add_action( 'init', 'ofisuport_wpplugin_register_ajut_category', 0 ); + + // Register Custom Taxonomy Tag for Ajuts + function ofisuport_wpplugin_register_ajut_tag() { + + $labels = array( + 'name' => _x( 'Ajuts Tags', 'Taxonomy General Name', 'text_domain' ), + 'singular_name' => _x( 'Ajut Tag', 'Taxonomy Singular Name', 'text_domain' ), + 'menu_name' => __( 'Ajuts Tags', 'text_domain' ), + 'all_items' => __( 'All ajuts tags', 'text_domain' ), + 'parent_item' => __( 'Parent ajut tag', 'text_domain' ), + 'parent_item_colon' => __( 'Parent ajut tag:', 'text_domain' ), + 'new_item_name' => __( 'New ajut tag', 'text_domain' ), + 'add_new_item' => __( 'Add New ajut tag', 'text_domain' ), + 'edit_item' => __( 'Edit ajut tag', 'text_domain' ), + 'update_item' => __( 'Update ajut tag', 'text_domain' ), + 'separate_items_with_commas' => __( 'Separate ajut tag with commas', 'text_domain' ), + 'search_items' => __( 'Search ajut tags', 'text_domain' ), + 'add_or_remove_items' => __( 'Add or remove ajut tag', 'text_domain' ), + 'choose_from_most_used' => __( 'Choose from the most used ajut tags', 'text_domain' ), + 'not_ajut' => __( 'Ajut tag Not Ajut', 'text_domain' ), + ); + $rewrite = array( + 'slug' => 'ajut-tag', + // 'with_front' => false, + ); + $capabilities = array( + 'manage_terms' => 'OficinaSuport Manage ajuts Tag', + 'edit_terms' => 'OficinaSuport Edit ajut Tag', + 'delete_terms' => 'OficinaSuport Delete ajuts Tag', + 'assign_terms' => 'OficinaSuport Assign ajuts Tag', + ); + + $args = array( + 'labels' => $labels, + 'hierarchical' => false, + 'public' => true, + 'show_ui' => true, + 'show_admin_column' => true, + 'show_in_nav_menus' => true, + 'show_tagcloud' => true, + 'rewrite' => $rewrite, + //'capabilities' => $capabilities, + 'map_meta_cap' => true //neded to apply the new capabilities. + ); + register_taxonomy( 'ofisuport_ajut_tag', array( 'ofisuport_ajut' ) , $args ); + } + + // Hook into the 'init' action + add_action( 'init', 'ofisuport_wpplugin_register_ajut_tag', 0 ); + + // changing the permalink + // https://wordpress.stackexchange.com/questions/108642/permalinks-custom-post-type-custom-taxonomy-post + // change in register_post_type the slug 'rewrite' to this + // $rewrite = array( + // 'slug' => 'ajuts/%ofisuport_ajut_category%', + // 'with_front' => true, + // 'hierarchical' => true, + // ); + // uncomment below + // + // function ofisuport_wpplugin_ajut_and_category_permalink( $post_link, $id = 0 ){ + // $post = get_post($id); + // if ( is_object( $post ) && $post->post_type == 'ofisuport_ajut' ){ + // $terms = wp_get_object_terms( $post->ID, 'ofisuport_ajut_category' ); + // if( $terms ){ + // return str_replace( '%ofisuport_ajut_category%' , $terms[0]->slug , $post_link ); + // } + // } + // return $post_link; + // } + // add_filter( 'post_type_link', 'ofisuport_wpplugin_ajut_and_category_permalink', 1, 2 ); diff --git a/includes/plugin-settings-pannel.php b/includes/plugin-settings-pannel.php index 94e5223..f3bf2ff 100644 --- a/includes/plugin-settings-pannel.php +++ b/includes/plugin-settings-pannel.php @@ -47,6 +47,28 @@ if( ! function_exists('ofisuport_wpplugin_settings_init') ){ // 'ofisuport_wpplugin_section_control_home' // ); + // register a new section in the "ofisuport_wpplugin" page + add_settings_section( + 'ofisuport_wpplugin_section_reusableblocks', + __( 'Reusable blocks.', 'ofisuport-wpplugin-textdomain' ), + 'ofisuport_wpplugin_section_reusableblocks_cb', + 'ofisuport_wpplugin_reusableblocks' + ); + // register a new field in the "ofisuport_wpplugin_section_reusableblocks" section, inside the "ofisuport_wpplugin" page + // + // uncoment below to activate + add_settings_field( + 'ofisuport_wpplugin_field_reusableblocks', // as of WP 4.6 this value is used only internally + // use $args' label_for to populate the id inside the callback + __( 'Follow this link to edit the reusable blocks Reusable blocks', 'ofisuport-wpplugin-textdomain' ), + 'ofisuport_wpplugin_field_reusableblocks_cb', + 'ofisuport_wpplugin_settings', + 'ofisuport_wpplugin_section_reusableblocks', + + // edit.php?post_type=wp_block + ); + + // register a new section in the "ofisuport_wpplugin" page // // uncoment below to activate diff --git a/ofisuport-wp-plugin.php b/ofisuport-wp-plugin.php index 91e5841..b794a59 100644 --- a/ofisuport-wp-plugin.php +++ b/ofisuport-wp-plugin.php @@ -9,7 +9,7 @@ * Plugin Name: Oficina de Suport wp plugin * Plugin URI: https://git.hangar.org/xarxaprod/oficinasuport-wp-plugin * Description: Different needs for the Oficina de Suport de Xarxaprod.cat Wordpress theme needs. Adds support for: SVG. -* Date: 2022 10 28 +* Date: 2022 12 29 * Version: 1.0.0 * Author: jorge - vitrubio.net * Author URI: https://vitrubio.net/ @@ -44,17 +44,26 @@ define( 'OFISUPORT_WPPLUGIN_VERSION', '1.0.0' ); * define Plugin path * https://developer.wordpress.org/reference/functions/plugin_dir_path/#comment-1113 * * * * * * * * * * * * * * * * * * */ + +define( 'OFISUPORT_WPPLUGIN_FILE', __FILE__ ); + define( 'OFISUPORT_WPPLUGIN_PATH', plugin_dir_path( __FILE__ ) ); //in server define( 'OFISUPORT_WPPLUGIN_URL', plugin_dir_url( __FILE__ ) ); //public +//define( 'OFISUPORT_WPPLUGIN_BASENAME', plugin_basename( __FILE__ ) ); + include( OFISUPORT_WPPLUGIN_PATH . 'includes/plugin-init-textdomain.php'); +//include( OFISUPORT_WPPLUGIN_PATH . 'includes/plugin-settings-pannel.php'); + include( OFISUPORT_WPPLUGIN_PATH . 'includes/enable-svg.php'); -include( OFISUPORT_WPPLUGIN_PATH . 'includes/stylesheet-admin.php'); +//if ( is_admin() ) { + include( OFISUPORT_WPPLUGIN_PATH . 'includes/stylesheet-admin.php'); +//} else { + include( OFISUPORT_WPPLUGIN_PATH . 'includes/stylesheet-public.php'); +//} -include( OFISUPORT_WPPLUGIN_PATH . 'includes/stylesheet-public.php'); - -include( OFISUPORT_WPPLUGIN_PATH . 'includes/plugin-settings-pannel.php'); +include( OFISUPORT_WPPLUGIN_PATH . 'includes/custom-post-type-ajuts.php');