FEATURE Otpimizing author single
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
0c8334e4c1
commit
2d8241ede0
|
|
@ -38,6 +38,13 @@ function getRevueAuthors($revueID)
|
|||
return array_unique($authors);
|
||||
}
|
||||
|
||||
function get_author_articles_amount($authorID)
|
||||
{
|
||||
if (empty($authorID)) return 0;
|
||||
$articles = count_user_articles($authorID, 'articles');
|
||||
return $articles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère tous les termes uniques d'une taxonomie pour une revue
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,31 +1,88 @@
|
|||
.page--single-auteurs {
|
||||
@apply max-w-screen-xl mx-auto px-4;
|
||||
|
||||
h1 {
|
||||
@apply !text-8xl uppercase mb-8 col-span-2;
|
||||
}
|
||||
|
||||
.author-card__profile-picture {
|
||||
@apply block static col-span-2 lg:col-span-1;
|
||||
}
|
||||
&__header {
|
||||
@apply grid grid-cols-1 gap-2 gap-x-8 items-center justify-center py-12;
|
||||
@apply py-12 !my-0 bg-primary alignfull pb-80;
|
||||
h1 {
|
||||
@apply !text-6xl uppercase mb-8 col-span-2 !text-white;
|
||||
}
|
||||
p {
|
||||
@apply text-white;
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
grid-template-columns: auto 1fr;
|
||||
.inner {
|
||||
@apply mx-auto flex flex-col lg:flex-row gap-24 justify-center items-center max-w-screen-xl;
|
||||
}
|
||||
|
||||
.sub-infos {
|
||||
@apply text-lg text-white flex gap-2 py-4;
|
||||
|
||||
.data-type {
|
||||
@apply uppercase font-medium text-xl tracking-widest;
|
||||
}
|
||||
|
||||
.articles-amount {
|
||||
@apply flex items-center gap-2;
|
||||
&::before {
|
||||
content: '';
|
||||
@apply block w-6 h-6 bg-no-repeat bg-center;
|
||||
background-image: url('../resources/img/icons/icon-activites.svg');
|
||||
background-size: contain;
|
||||
}
|
||||
}
|
||||
}
|
||||
.author-card__profile-picture {
|
||||
@apply block col-span-2 lg:col-span-1 relative z-10 w-48 h-48 p-0;
|
||||
.profile-picture-container {
|
||||
@apply relative z-10 w-full h-full bg-white p-4;
|
||||
z-index: 2;
|
||||
}
|
||||
.background-picture {
|
||||
@apply absolute inset-0 w-full h-full bg-white;
|
||||
z-index: -1;
|
||||
transform: translate(30px, 30px) rotate(5deg);
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
@apply absolute inset-0 w-full h-full bg-carhop-green-100;
|
||||
z-index: 2;
|
||||
top: 1rem;
|
||||
left: 1rem;
|
||||
width: calc(100% - 2rem);
|
||||
height: calc(100% - 2rem);
|
||||
}
|
||||
}
|
||||
}
|
||||
.infos {
|
||||
@apply max-w-screen-md;
|
||||
}
|
||||
}
|
||||
&__comities-list {
|
||||
@apply flex flex-wrap gap-2 items-center col-span-2 text-primary font-normal pt-4;
|
||||
}
|
||||
&__comity {
|
||||
@apply text-lg fjalla uppercase;
|
||||
@apply text-lg flex items-center gap-2 font-light tracking-wide;
|
||||
|
||||
&:before {
|
||||
@apply content-[''] block w-6 h-6 bg-no-repeat bg-center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
+ .page--single-auteurs__comity {
|
||||
@apply before:content-['|'] before:mx-2 before:text-primary;
|
||||
}
|
||||
}
|
||||
&__comities-list-title {
|
||||
@apply text-base font-normal text-neutral-400;
|
||||
&--redaction {
|
||||
&:before {
|
||||
background-image: url('../resources/img/icons/carhop-plume-white.svg');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__latest-publication {
|
||||
transform: translateY(-200px);
|
||||
margin-bottom: -150px;
|
||||
p {
|
||||
@apply text-white uppercase text-xl font-semibold tracking-widest mb-8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
resources/img/icons/carhop-plume-white.svg
Normal file
12
resources/img/icons/carhop-plume-white.svg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1328_11789)">
|
||||
<path d="M24.6411 4.88879L22.2345 6.53778V15.3777L7.16797 23.8166L8.99849 7.32024L16.9158 3.09753L17.0438 0.0258789" stroke="white" stroke-width="2"/>
|
||||
<path d="M7.16797 23.8166L13.4084 14.3753" stroke="white" stroke-width="2"/>
|
||||
<path d="M0 24.3533H7.16846" stroke="white" stroke-width="2"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1328_11789">
|
||||
<rect width="25" height="25" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 542 B |
12
resources/img/icons/carhop-rechercher-special.svg
Normal file
12
resources/img/icons/carhop-rechercher-special.svg
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1328_11790)">
|
||||
<path d="M17.5859 18.5605L23.3362 24.3354" stroke="white" stroke-width="2"/>
|
||||
<path d="M10.7539 21.4526C16.1775 21.4526 20.5742 16.8598 20.5742 11.1943C20.5742 5.52879 16.1775 0.935974 10.7539 0.935974C5.33029 0.935974 0.933594 5.52879 0.933594 11.1943C0.933594 16.8598 5.33029 21.4526 10.7539 21.4526Z" stroke="white" stroke-width="2" stroke-miterlimit="10"/>
|
||||
<path d="M10.7556 6.68164L6.25391 11.1954L10.7556 15.7091L15.2573 11.1954L10.7556 6.68164Z" stroke="white" stroke-width="2" stroke-miterlimit="10"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1328_11790">
|
||||
<rect width="24" height="25" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 760 B |
|
|
@ -7,7 +7,7 @@ $profilePicture = get_field('profile_thumbnail', $author_id);
|
|||
$profilePictureUrl = $profilePicture['url'] ?? '';
|
||||
$profilePictureAlt = $profilePicture['alt'] ?? '';
|
||||
$comity = get_field('comity', $author_id);
|
||||
|
||||
$articlesAmount = get_author_articles_amount($author_id);
|
||||
?>
|
||||
|
||||
|
||||
|
|
@ -19,10 +19,9 @@ $comity = get_field('comity', $author_id);
|
|||
|
||||
<div class="page--single-auteurs__header">
|
||||
|
||||
|
||||
<h1 class="page--single-auteurs__title"><?php the_title(); ?></h1>
|
||||
|
||||
<div class="inner container">
|
||||
<div class="author-card__profile-picture">
|
||||
<div class="profile-picture-container">
|
||||
<?php if ($profilePictureUrl) : ?>
|
||||
<img src="<?php echo $profilePictureUrl; ?>" alt="<?php echo $profilePictureAlt; ?>">
|
||||
<?php else : ?>
|
||||
|
|
@ -31,13 +30,29 @@ $comity = get_field('comity', $author_id);
|
|||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="background-picture"></div>
|
||||
</div>
|
||||
|
||||
<div class="author-card__content">
|
||||
<p class="page--single-auteurs__subinfo sub-infos">
|
||||
<span class="data-type">Auteur·e</span>
|
||||
|
||||
<?php if ($articlesAmount) : ?>
|
||||
<span class="articles-amount">
|
||||
|
||||
<?php echo $articlesAmount; ?> articles
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
|
||||
</p>
|
||||
<h1 class="page--single-auteurs__title"><?php the_title(); ?></h1>
|
||||
<div class="infos">
|
||||
<p><?php echo $description; ?></p>
|
||||
<?php if ($comity) : ?>
|
||||
<p class="page--single-auteurs__comities-list">
|
||||
<span class="page--single-auteurs__comities-list-title">
|
||||
membre de :
|
||||
</span>
|
||||
|
||||
<?php foreach ($comity as $comity_value) : ?>
|
||||
<?php
|
||||
$comities = get_field_object('comity');
|
||||
|
|
@ -45,7 +60,7 @@ $comity = get_field('comity', $author_id);
|
|||
|
||||
?>
|
||||
<?php if ($comity_label) : ?>
|
||||
<span class="page--single-auteurs__comity"><?php echo $comity_label ?></span>
|
||||
<span class="page--single-auteurs__comity page--single-auteurs__comity--<?php echo $comity_value ?>"><?php echo $comity_label ?></span>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</p>
|
||||
|
|
@ -54,13 +69,53 @@ $comity = get_field('comity', $author_id);
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="page--single-auteurs__latest-publication">
|
||||
|
||||
<p>Dernière publication</p>
|
||||
<?php
|
||||
$latestArticle = get_posts(array(
|
||||
'post_type' => 'articles',
|
||||
'posts_per_page' => 1,
|
||||
'orderby' => 'date',
|
||||
'order' => 'DESC',
|
||||
'post_not_in' => array(913),
|
||||
'meta_query' => array(
|
||||
array(
|
||||
'key' => 'authors',
|
||||
'value' => $author_id,
|
||||
'compare' => 'LIKE'
|
||||
)
|
||||
),
|
||||
));
|
||||
|
||||
|
||||
if (isset($latestArticle[0])) : ?>
|
||||
|
||||
<?php
|
||||
get_template_part('template-parts/dynamiques/article-card', null, array(
|
||||
'ID' => $latestArticle[0]->ID,
|
||||
'showCover' => true,
|
||||
|
||||
));
|
||||
?>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
$authorArticles = get_posts(array(
|
||||
'post_type' => 'articles',
|
||||
|
||||
'posts_per_page' => -1,
|
||||
|
||||
'post__not_in' => array($latestArticle[0]->ID),
|
||||
'meta_query' => array(
|
||||
array(
|
||||
'key' => 'authors', // Ajustez selon votre structure
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user