Unser Portfolio
Alle hier gezeigten Referenzen sind von der Idee über die Planung bis zur Herstellung echte Unikatöfen!/**
* Divi Filterbares Portfolio:
* manuellen Projekt-Textauszug für die Lightbox bereitstellen
*/
add_filter(
'et_module_shortcode_output',
'portfolio_lightbox_excerpt_data',
10,
3
);
function portfolio_lightbox_excerpt_data( $output, $render_slug, $module ) {
// Nur Filterbares Portfolio
if ( 'et_pb_filterable_portfolio' !== $render_slug ) {
return $output;
}
// Nur normalen HTML-Output bearbeiten
if ( ! is_string( $output ) || empty( $output ) ) {
return $output;
}
/*
* Jedes Divi-Portfolioelement besitzt normalerweise
* eine ID wie:
*
* post-123
*
* 123 ist die ID des jeweiligen Projekts.
*/
$output = preg_replace_callback(
'/<([a-z0-9]+)\b([^>]*\bid=["\']post-(\d+)["\'][^>]*)>/i',
function ( $matches ) {
$tag = $matches[1];
$attributes = $matches[2];
$post_id = (int) $matches[3];
// Nicht doppelt einfügen
if (
false !== strpos(
$attributes,
'data-portfolio-description='
)
) {
return $matches[0];
}
/*
* WICHTIG:
* post_excerpt = genau das Feld "Textauszug",
* das du auf deinem Screenshot ausgefüllt hast.
*/
$excerpt = get_post_field(
'post_excerpt',
$post_id
);
$excerpt = wp_strip_all_tags(
(string) $excerpt
);
return sprintf(
'<%1$s%2$s data-portfolio-description="%3$s">',
$tag,
$attributes,
esc_attr( $excerpt )
);
},
$output
);
return $output;
}