';
echo '' . esc_html($title) . '';
}
function mkb_glossar_help_visual_end($note) {
echo '
' . esc_html($note) . '
';
}
/** A small, reusable informational step: no fake interactive form controls. */
function mkb_glossar_help_visual_step($number, $label, $description) {
echo '';
echo '
' . esc_html((string) $number) . '';
echo '
' . esc_html($label) . '' . esc_html($description) . '
';
}
/** CSV: actual sample header keys and example values, rendered as a readable table. */
function mkb_glossar_help_visual_csv_sheet() {
$row = function_exists('mkb_glossar_csv_sample_row') ? mkb_glossar_csv_sample_row() : [
'title' => 'Beispielbegriff', 'slug' => 'beispielbegriff',
'summary' => 'Eine kurze Erklaerung des Begriffs.', 'status' => 'draft',
];
$columns = ['title', 'slug', 'summary', 'status'];
mkb_glossar_help_visual_start('mkb-help-visual-csv-sheet', __('A CSV file viewed as a table', 'mkb-glossar'));
echo '';
echo '' . esc_html__('Scroll the table sideways to see all columns.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('Example from the downloadable sample: four of the 18 technical columns are shown. Keep every header unchanged; replace the draft example with your own data.', 'mkb-glossar'));
}
/** CSV: encoding, delimiter and text quoting - independent but closely related choices. */
function mkb_glossar_help_visual_csv_format() {
mkb_glossar_help_visual_start('mkb-help-visual-csv-format', __('Three checks before saving your CSV', 'mkb-glossar'));
echo '';
$items = [
[__('Encoding', 'mkb-glossar'), 'UTF-8', __('Preserves characters such as ä, ö, ü and é.', 'mkb-glossar')],
[__('Separator', 'mkb-glossar'), ';', __('Use semicolon, or comma if your spreadsheet program requires it.', 'mkb-glossar')],
[__('Quoted text', 'mkb-glossar'), '"Text; mit Trennzeichen"', __('Quotation marks protect separators within one cell.', 'mkb-glossar')],
];
foreach ($items as $item) {
echo '
' . esc_html($item[0]) . '' . esc_html($item[1]) . '' . esc_html($item[2]) . '
';
}
echo '
';
mkb_glossar_help_visual_end(__('These are illustrative values. Export a real CSV file; simply changing a filename extension is not enough.', 'mkb-glossar'));
}
/** CSV: the review gate, accurately separated from the data-changing action. */
function mkb_glossar_help_visual_csv_review() {
mkb_glossar_help_visual_start('mkb-help-visual-csv-review', __('Import safely: review before applying changes', 'mkb-glossar'));
echo '';
mkb_glossar_help_visual_step('1', __('Choose the file', 'mkb-glossar'), __('Select a UTF-8 CSV file.', 'mkb-glossar'));
mkb_glossar_help_visual_step('2', __('Match the columns', 'mkb-glossar'), __('Check that title, summary and other fields are assigned correctly.', 'mkb-glossar'));
mkb_glossar_help_visual_step('3', __('Check the preview', 'mkb-glossar'), __('Review new entries, duplicates and any warnings.', 'mkb-glossar'));
mkb_glossar_help_visual_step('4', __('Confirm the import', 'mkb-glossar'), __('Only the final confirmation applies the reviewed changes.', 'mkb-glossar'));
echo '
';
mkb_glossar_help_visual_end(__('For the first test, import drafts and skip existing entries. This illustration does not start an import.', 'mkb-glossar'));
}
/** Link targets: distinguish an ordinary glossary page from an explicitly configured external destination. */
function mkb_glossar_help_visual_link_targets() {
mkb_glossar_help_visual_start('mkb-help-visual-link-targets', __('Two possible destinations for a recognized word', 'mkb-glossar'));
echo '';
echo '
' . esc_html__('Usual destination', 'mkb-glossar') . '';
echo '
' . esc_html__('Accessibility', 'mkb-glossar') . '';
echo '
' . esc_html__('Opens the published explanation on your own website.', 'mkb-glossar') . '
';
echo '
' . esc_html__('External destination (optional)', 'mkb-glossar') . '';
echo '
' . esc_html__('Accessibility', 'mkb-glossar') . '↗';
echo '
' . esc_html__('Opens another website only when an external destination is explicitly enabled for this entry.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('The arrow is illustrative. Your actual external-link icon is chosen under Settings → Linking; it is shown only when the external-link marker is enabled.', 'mkb-glossar'));
}
/** Search: a noninteractive example showing how suggestions and Enter differ. */
function mkb_glossar_help_visual_search_flow() {
$names = mkb_glossar_display_names();
/* translators: %s is the configured singular item name (for example, Artikel). */
$direct = sprintf(__('Open %s directly', 'mkb-glossar'), $names['item']);
mkb_glossar_help_visual_start('mkb-help-visual-search', __('How the separate quick search works', 'mkb-glossar'));
echo '';
echo '
' . esc_html__('Example search', 'mkb-glossar') . 'FAQ
';
echo '
' . esc_html__('FAQ', 'mkb-glossar') . '' . esc_html__('Select a suggestion to open that explanation.', 'mkb-glossar') . '
';
echo '
';
echo '';
echo '
' . esc_html__('Select a suggestion or press Enter for an exact or unique match', 'mkb-glossar') . '' . esc_html($direct) . '
';
echo '
' . esc_html__('Press Enter without an exact or unique match', 'mkb-glossar') . '' . esc_html__('Open the filtered overview', 'mkb-glossar') . '
';
echo '
';
mkb_glossar_help_visual_end(__('This is the separate quick-search widget, not the full-text search within the overview. The illustration is not interactive. The Search button is optional; “View all results” opens the overview.', 'mkb-glossar'));
}
/** Editor: a short definition and a full explanation belong to the same content item. */
function mkb_glossar_help_visual_editor() {
$names = mkb_glossar_display_names();
/* translators: %s is the configured singular item name (for example, Artikel). */
$title = sprintf(__('Two ways to explain %s', 'mkb-glossar'), $names['item']);
mkb_glossar_help_visual_start('mkb-help-visual-editor', $title);
echo '';
echo '
' . esc_html__('Short definition for tooltips', 'mkb-glossar') . '';
echo '
' . esc_html__('A quick answer while reading', 'mkb-glossar') . '';
echo '
' . esc_html__('Write one or two short sentences for a linked word.', 'mkb-glossar') . '
';
echo '
' . esc_html__('Detailed explanation', 'mkb-glossar') . '';
echo '
' . esc_html__('More context on its own page', 'mkb-glossar') . '';
echo '
' . esc_html__('Use the full editor for examples and background information.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('Both belong to the same content item. A tooltip requires a short definition and an enabled tooltip setting.', 'mkb-glossar'));
}
/** Troubleshooting: decision aid, not an automated diagnostic. */
function mkb_glossar_help_visual_diagnosis() {
mkb_glossar_help_visual_start('mkb-help-visual-diagnosis', __('No automatic links? Check in this order', 'mkb-glossar'));
echo '';
mkb_glossar_help_visual_step('1', __('Enabled and allowed?', 'mkb-glossar'), __('Automatic linking is on, and this content type is selected.', 'mkb-glossar'));
mkb_glossar_help_visual_step('2', __('A published match?', 'mkb-glossar'), __('A matching published entry exists for the page language.', 'mkb-glossar'));
mkb_glossar_help_visual_step('3', __('No exclusion?', 'mkb-glossar'), __('The page and its assigned categories or tags are not excluded.', 'mkb-glossar'));
echo '
';
mkb_glossar_help_visual_end(__('Test a normal text paragraph on a published page. Headings, buttons and manually inserted links are protected.', 'mkb-glossar'));
}
/** Short explanation behavior in context, without requiring enabled tooltips or saving a term. */
function mkb_glossar_help_visual_tooltip() {
mkb_glossar_help_visual_start('mkb-help-visual-tooltip', __('An explanation in the reading flow', 'mkb-glossar'));
echo '';
mkb_glossar_help_visual_end(__('A real tooltip appears on hover, keyboard focus or tap when a linked entry has a short definition. This is a static example.', 'mkb-glossar'));
}
/** Topics are glossary organization, not WordPress category exclusions. */
function mkb_glossar_help_visual_topics() {
$names = mkb_glossar_display_names();
mkb_glossar_help_visual_start('mkb-help-visual-topics', __('Organize explanations without changing where links appear', 'mkb-glossar'));
echo '';
echo '
' . esc_html__('Inside the content editor', 'mkb-glossar') . '';
/* translators: %s is the configured singular item name (for example, Artikel). */
echo '
' . esc_html(sprintf(__('Assign a topic to %s', 'mkb-glossar'), $names['item'])) . '';
echo '
' . esc_html__('Colour techniques', 'mkb-glossar') . '' . esc_html__('Care', 'mkb-glossar') . '
';
echo '
' . esc_html__('Use topics to help readers filter your glossary overview.', 'mkb-glossar') . '
';
echo '
' . esc_html__('A separate WordPress setting', 'mkb-glossar') . '';
echo '
' . esc_html__('Exclude a post category from automatic links', 'mkb-glossar') . '';
echo '
' . esc_html__('Post categories and tags are managed under Settings → Exclusions. They do not change the topics assigned to glossary content.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('Illustration: topics organize entries; exclusions decide whether WordPress posts receive automatic links.', 'mkb-glossar'));
}
/** Language pairs are translations, not aliases or automatically created content. */
function mkb_glossar_help_visual_translations() {
mkb_glossar_help_visual_start('mkb-help-visual-translations', __('Two languages: connect translations, not synonyms', 'mkb-glossar'));
echo '';
echo '
DEÖffnungszeiten' . esc_html__('German content', 'mkb-glossar') . '
';
echo '
↔' . esc_html__('Link as translations', 'mkb-glossar') . '
';
echo '
ENOpening hours' . esc_html__('English content', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('Publish each language version and connect them using Polylang or WPML if installed. A synonym is an alternative name within one language, not a translation.', 'mkb-glossar'));
}
/** Actual shipped icon artwork, used as read-only informational samples. */
function mkb_glossar_help_visual_icon_choices() {
mkb_glossar_help_visual_start('mkb-help-visual-icon-choices', __('Choose the external-link marker', 'mkb-glossar'));
$icons = [
['external-link.svg', __('Standard', 'mkb-glossar')],
['arrow-up-right.svg', __('Arrow', 'mkb-glossar')],
['globe.svg', __('Globe', 'mkb-glossar')],
['link.svg', __('Link', 'mkb-glossar')],
];
echo '';
echo '
';
foreach ($icons as $icon) {
echo '
' . esc_html($icon[1]) . '';
}
echo '
';
echo '
' . esc_html__('Own image from the Media Library', 'mkb-glossar') . '' . esc_html__('PNG, WebP, JPG or AVIF. Your own image keeps its original colours.', 'mkb-glossar') . '
';
echo '
';
mkb_glossar_help_visual_end(__('Illustration of the available choices, not a working settings panel. In Settings → Linking, enable the external marker first; its icon options then appear immediately.', 'mkb-glossar'));
}
/** Different editors use deliberately different protection controls. */
function mkb_glossar_help_visual_protected_passages() {
mkb_glossar_help_visual_start('mkb-help-visual-protected', __('Protect only the passage that should stay unlinked', 'mkb-glossar'));
echo '';
foreach ([
[__('Elementor Text Editor', 'mkb-glossar'), __('Content tab → switch on', 'mkb-glossar'), __('Disable automatic glossary links', 'mkb-glossar')],
[__('Gutenberg', 'mkb-glossar'), __('Paragraph or Group → Styles', 'mkb-glossar'), __('Without automatic glossary links', 'mkb-glossar')],
[__('Classic editor', 'mkb-glossar'), __('Wrap only the protected text', 'mkb-glossar'), '[mkb_glossar_ohne_links]…[/mkb_glossar_ohne_links]'],
] as $entry) {
echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '' . esc_html($entry[2]) . '
';
}
echo '
';
mkb_glossar_help_visual_end(__('Only automatically generated glossary links are suppressed in the protected passage. Links you inserted manually are not removed.', 'mkb-glossar'));
}
/** Exact rendering options without implying that Elementor Pro is required. */
function mkb_glossar_help_visual_placement() {
mkb_glossar_help_visual_start('mkb-help-visual-placement', __('Three ways to place the overview', 'mkb-glossar'));
echo '';
foreach ([
[__('Elementor (Free)', 'mkb-glossar'), __('Drag the MKB Glossar overview widget onto your page.', 'mkb-glossar')],
[__('WordPress block editor', 'mkb-glossar'), __('Add the MKB Glossar block to your page.', 'mkb-glossar')],
[__('Shortcode', 'mkb-glossar'), __('Paste the shortcode into a Shortcode block.', 'mkb-glossar')],
] as $entry) {
echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '
';
}
echo '
';
echo '[mkb_glossar]' . esc_html__('The same overview, without requiring Elementor.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('These are three alternatives for the glossary overview, not three steps you must all complete. Preview the published page after inserting one.', 'mkb-glossar'));
}
/** Elementor Free site-wide details container differs from Elementor Pro Theme Builder. */
function mkb_glossar_help_visual_elementor_details() {
mkb_glossar_help_visual_start('mkb-help-visual-details', __('One shared details layout in Elementor Free', 'mkb-glossar'));
echo '';
mkb_glossar_help_visual_step('1', __('Save a container', 'mkb-glossar'), __('Place the MKB Glossary Details widget inside a saved Elementor container.', 'mkb-glossar'));
mkb_glossar_help_visual_step('2', __('Select the template', 'mkb-glossar'), __('Choose that saved container once under Settings → General.', 'mkb-glossar'));
mkb_glossar_help_visual_step('3', __('Review the public pages', 'mkb-glossar'), __('The shared layout displays details for the current published glossary entry.', 'mkb-glossar'));
echo '
';
echo '' . esc_html__('Elementor Pro can instead use a Theme Builder Single template. That is a separate option; it is not required for the Elementor Free workflow.', 'mkb-glossar') . '
';
mkb_glossar_help_visual_end(__('Read-only workflow illustration. The saved container must exist before it can be selected in MKB Glossar settings.', 'mkb-glossar'));
}
/** Keyboard, touch and pointer are equivalent ways to reveal a short definition. */
function mkb_glossar_help_visual_tooltip_access() {
mkb_glossar_help_visual_start('mkb-help-visual-tooltip-access', __('A tooltip should be usable without a mouse', 'mkb-glossar'));
echo '';
foreach ([
[__('Pointer', 'mkb-glossar'), __('Hover over the linked word.', 'mkb-glossar')],
[__('Touchscreen', 'mkb-glossar'), __('First tap: show the definition. Second tap: follow the link.', 'mkb-glossar')],
[__('Keyboard', 'mkb-glossar'), __('Tab: focus the link. Escape: close. Enter: follow the link.', 'mkb-glossar')],
] as $entry) {
echo '
' . esc_html($entry[0]) . '' . esc_html($entry[1]) . '
';
}
echo '
';
mkb_glossar_help_visual_end(__('Check this on a published page with tooltips enabled and a short definition saved. These are instructions, not interactive controls.', 'mkb-glossar'));
}