>
$layout ) {
$layout_options[ $slug ] = $layout['label'] . ' — ' . $layout['desc'];
}
EquaFrame_Fields::radios( 'layout', __( 'Layout style', 'equaframe' ), $layout_options );
?>
array( 'grid' ) ) );
EquaFrame_Fields::number( 'mosaic_row', __( 'Row height', 'equaframe' ), 60, 500, 'px', __( 'Height of one mosaic row on a large screen; it shrinks on smaller screens. Larger tiles span several rows and columns.', 'equaframe' ), array( 'layouts' => array( 'mosaic' ), 'slider' => true ) );
?>
__( 'Full image view with arrows and/or dots', 'equaframe' ),
'filmstrip' => __( 'Large image with a scrollable film strip of thumbnails', 'equaframe' ),
)
);
EquaFrame_Fields::select( 'ss_ratio', __( 'Large image shape', 'equaframe' ), EquaFrame_Settings::ratios(), __( 'A fixed shape stops the page from jumping as slides change.', 'equaframe' ) );
EquaFrame_Fields::select( 'ss_fit', __( 'Fit', 'equaframe' ), array( 'contain' => __( 'Show the whole image (may leave empty bars)', 'equaframe' ), 'cover' => __( 'Fill the area (crops the edges)', 'equaframe' ) ) );
EquaFrame_Fields::checkbox( 'ss_arrows', __( 'Show previous / next arrows', 'equaframe' ) );
EquaFrame_Fields::checkbox( 'ss_dots', __( 'Show navigation dots', 'equaframe' ), '', array( 'requires' => 'ss_mode=single' ) );
EquaFrame_Fields::checkbox( 'ss_loop', __( 'Loop from the last slide back to the first', 'equaframe' ) );
EquaFrame_Fields::select(
'ss_caption',
__( 'Text over the image', 'equaframe' ),
array(
'none' => __( 'None', 'equaframe' ),
'title' => __( 'Title', 'equaframe' ),
'caption' => __( 'Caption', 'equaframe' ),
'both' => __( 'Title and caption', 'equaframe' ),
)
);
EquaFrame_Fields::group_open( array( 'requires' => 'ss_mode=filmstrip' ), 'eqfr-subsection' );
echo '' . esc_html__( 'Film strip', 'equaframe' ) . '
';
EquaFrame_Fields::select(
'ss_strip_pos',
__( 'Thumbnails position', 'equaframe' ),
array(
'bottom' => __( 'Below the large image', 'equaframe' ),
'top' => __( 'Above the large image', 'equaframe' ),
'left' => __( 'Left of the large image', 'equaframe' ),
'right' => __( 'Right of the large image', 'equaframe' ),
),
__( 'On phones, a left strip moves above the image and a right strip moves below it.', 'equaframe' )
);
EquaFrame_Fields::number( 'ss_strip_visible', __( 'Thumbnails visible at once (tablet and desktop)', 'equaframe' ), 1, 12, '', __( 'The rest are reached by scrolling the strip or tabbing to them.', 'equaframe' ) );
EquaFrame_Fields::number( 'ss_strip_visible_mobile', __( 'Thumbnails visible at once (phone)', 'equaframe' ), 1, 6 );
EquaFrame_Fields::group_close();
?>
>
'lb_backdrop' ) );
EquaFrame_Fields::color( 'lb_backdrop_color', __( 'Backdrop color', 'equaframe' ) );
EquaFrame_Fields::number( 'lb_backdrop_opacity', __( 'Backdrop opacity', 'equaframe' ), 0, 100, '%', '', array( 'slider' => true ) );
EquaFrame_Fields::group_close();
?>
__( 'Round button', 'equaframe' ),
'square' => __( 'Square button', 'equaframe' ),
'plain' => __( 'Icon only, no background', 'equaframe' ),
),
__( 'With “icon only”, the background color is not used, so make sure the icon color stands out against your backdrop.', 'equaframe' )
);
?>
__( 'Top right', 'equaframe' ),
'top-left' => __( 'Top left', 'equaframe' ),
'bottom-right' => __( 'Bottom right', 'equaframe' ),
'bottom-left' => __( 'Bottom left', 'equaframe' ),
)
);
?>
__( 'In a panel below the image', 'equaframe' ),
'overlay' => __( 'Over the bottom of the image', 'equaframe' ),
),
__( 'Text colors are set on the Appearance tab.', 'equaframe' )
);
?>
__( 'Alt text (recommended)', 'equaframe' ),
'title' => __( 'Image title', 'equaframe' ),
'caption' => __( 'Image caption', 'equaframe' ),
),
__( 'Visitors who use a screen reader, such as JAWS, NVDA or VoiceOver, hear this after the position, for example “Image 3 of 12: Couple on the dock”. It is spoken only and is never shown on the page. Alt text describes what is in the picture, so it is usually the best choice. If the one you pick is empty for an image, the alt text, then the title, then the caption is used instead.', 'equaframe' )
);
?>
>
Appearance → Customize → Additional CSS (in a block theme, Appearance → Editor → Styles, then the three-dot menu and Additional CSS).', 'equaframe' ),
array( 'strong' => array() )
);
?>
-
.eqfr-gallery-' . (int) $gallery_id . ''
),
array( 'code' => array() )
);
?>
-
class="home-hero", which you can then style the same way.', 'equaframe' ),
array( 'code' => array() )
);
?>
$el ) {
$grouped[ $el['group'] ][ $key ] = $el;
}
$open = true;
foreach ( $grouped as $group => $elements ) :
?>
>
$el ) :
$scoped = '.eqfr-gallery-' . (int) $gallery_id . ( '.eqfr-gallery' === $el['class'] ? '' : ' ' . $el['class'] );
/* translators: %s: CSS selector */
$copy_label = sprintf( __( 'Copy %s', 'equaframe' ), $scoped );
?>
CSS ID on the Images tab. The ID is placed on the image’s tile (.eqfr-item), so you can style it with a rule such as #sunset img { filter: sepia(.4); }.', 'equaframe' ),
array( 'strong' => array(), 'code' => array() )
);
?>
$image ) {
if ( '' !== $image['css_id'] ) {
/* translators: 1: CSS ID, 2: image number */
$used[] = sprintf( __( '#%1$s (image %2$d)', 'equaframe' ), $image['css_id'], $i + 1 );
}
}
?>
' . esc_html( implode( ', ', $used ) ) . '' : esc_html__( 'No image IDs set yet.', 'equaframe' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>