Skip to content

Instantly share code, notes, and snippets.

@pixelbart

pixelbart/functions.php

Last active Aug 11, 2020
Embed
What would you like to do?
Helpful Plugin: Anker zum Formular

Installation

Den angegeben Code in die functions.php deines WordPress Themes packen.

Anwendungsbeispiel

[helpful_anchor] an der gewünschten Stellen platzieren, wo dann der Link ausgegeben werden soll.

Um den Shortcode in PHP zu verwenden, genügt folgende Anwendung:

<?php echo do_shortcode( '[helpful_anchor]' ); ?>

Ausgabe:

<a href="LINK_ZUM_BEITRAG#helpful-ID_DES_BEITRAGS">Feedback geben</a>

Weitere Anwendungsbeispiele

<?php // functions.php
/**
* Fügt Helpful eine ID hinzu.
*
* @param string $content
*
* @return string
*/
add_filter( 'the_content', function( $content ) {
global $post;
if ( preg_match( "~class=\"helpful~", $content ) ) {
$id = 'helpful-' . $post->ID;
$pos = strpos( $content, 'class="helpful' );
if ( $pos !== false ) {
$content = substr_replace($content, 'id="' . $id . '" class="helpful', $pos, strlen( 'class="helpful' ) );
}
}
return $content;
}, PHP_INT_MAX);
/**
* Fügt einen neuen Shortcode [helpful_anchor] hinzu.
*
* @return string
*/
add_shortcode( 'helpful_anchor', function() {
global $post;
$id = 'helpful-' . $post->ID;
$permalink = get_the_permalink( $post ) . '#' . $id;
return sprintf( '<a href="%s">%s</a>', $permalink, 'Feedback geben' ); // Hier ggf. den Text anpassen
});
@pixelbart

This comment has been minimized.

Copy link
Owner Author

@pixelbart pixelbart commented Aug 11, 2020

Ohne ID des Beitrags, den folgenden Inhalt in die functions.php einfügen:

<?php // functions.php

/**
 * Fügt Helpful eine ID hinzu.
 *
 * @param string $content
 *
 * @return string
 */
add_filter( 'the_content', function( $content ) {
	global $post;
	if ( preg_match( "~class=\"helpful~", $content ) ) {
		$id  = 'helpful';
		$pos = strpos( $content, 'class="helpful' );
		if ( $pos !== false ) {
			$content = substr_replace($content, 'id="' . $id . '" class="helpful', $pos, strlen( 'class="helpful' ) );
		}
	}
	return $content;
}, PHP_INT_MAX);

/**
 * Fügt einen neuen Shortcode [helpful_anchor] hinzu.
 *
 * @return string
 */
add_shortcode( 'helpful_anchor', function() {
	global $post;	
	$id = 'helpful';
	$permalink = get_the_permalink( $post ) . '#' . $id;
	return sprintf( '<a href="%s">%s</a>', $permalink, 'Feedback geben' ); // Hier ggf. den Text anpassen
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.