Nun, da ich wiederholt ignoriert werde bin ich hier raus ..
Wieso wiederholt ignoriert?
Ich habe das array_filter entfernt, das hat nichts gebracht!.
Aber trotzdem danke für den Versuch der Hilfe!
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenNun, da ich wiederholt ignoriert werde bin ich hier raus ..
Wieso wiederholt ignoriert?
Ich habe das array_filter entfernt, das hat nichts gebracht!.
Aber trotzdem danke für den Versuch der Hilfe!
[FONT=Courier New]$copyright_obs[/FONT] wird nirgends ausgegeben.
Doch:
Es steht zwar kein echo davor, trotzdem sollte damit die Ausgabe erfolgen.
Funktioniert hier ja auch:
[COLOR=#0000BB]
Siehe hier z. B.
Das entfernen Deiner Änderung hat leider keine Wirkung!
[/COLOR]
Da unbekannt ist, wo genau Du Deine Code-Ergänzung eingefügt hast, kann man Dir ausser Ratespiel kaum was verraten.
Sorry mal wieder...
add_filter( 'the_content', 'mmx_maybe_add_copyright_to_content', 500);
function mmx_maybe_add_copyright_to_content( $content ) {
$copyright = array();
/* thumbnail copyright */
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_meta = array();
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'name', true ) ?? NULL;
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'organisation', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta ) ) >= 1 ){
$thumbnail_copyright = implode( ', ', $thumbnail_meta );
$copyright[] = '<div>© ' . $thumbnail_copyright . '</div>';
}
$copyright_obs = array();
$artikelfoto_checked_labels = get_field( 'artikelfoto', $attachment_id );
if ( $artikelfoto_checked_labels ) :
foreach ( $artikelfoto_checked_labels as $artikelfoto_label ):
echo esc_html( $artikelfoto_label );
endforeach;
endif;
/* thumbnail copyright obs */
$thumbnail_id_obs = get_post_thumbnail_id();
$thumbnail_meta_obs = array();
$thumbnail_meta_obs[] = get_post_meta( $thumbnail_id_obs, 'artikelfoto', true ) ?? NULL;
$thumbnail_copyright_obs = implode( ', ', $thumbnail_meta_obs );
$copyright_obs[] = '<div>© ' . $thumbnail_meta_obs . '</div>';
/* in content images copyright */
preg_match( '|<img.*?src=".*?/?>|', $content, $matches );
foreach( $matches as $img ){
preg_match( '|(src=")(.*?)"|', $img, $url);
$attachment_id = attachment_url_to_postid( $url[2] );
$attachment_meta = array();
$attachment_meta[] = get_post_meta( $attachment_id, 'name', true ) ?? NULL;
$attachment_meta[] = get_post_meta( $attachment_id, 'organisation', true ) ?? NULL;
if( count( array_filter ($attachment_meta) ) >= 1 ){
$attachment_copyright = implode( ', ', $attachment_meta );
$copyright[] = '<div>© ' . $attachment_copyright . '</div>';
}
}
$images_found = count( array_filter ( $copyright ) );
if( $images_found >= 1 ){
$copyright_list = '<div class="copyright">';
$copyright_list .= $images_found === 1 ? 'Artikelbild' : 'Artikelbilder'; # @todo i18n gettext
$copyright_list .= implode( '', $copyright );
$copyright_list .= '</div><br />';
$content .= $copyright_list;
}
return $content;
}
Alles anzeigen
Kann mir denn zumindest jemand verraten, weshalb die copyright-Liste nicht ausgegeben wird?
Der Code Ist so schon korrekt!
Der Komplette Code sieht so aus:
add_filter( 'the_content', 'mmx_maybe_add_copyright_to_content', 500);
function mmx_maybe_add_copyright_to_content( $content ) {
$copyright = array();
/* thumbnail copyright */
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_meta = array();
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'name1', true ) ?? NULL;
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'organisation', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta ) ) >= 1 ){
$thumbnail_copyright = implode( ', ', $thumbnail_meta );
$copyright[] = '<div>© ' . $thumbnail_copyright . '</div>';
}
/* in content images copyright */
preg_match( '|<img.*?src=".*?/?>|', $content, $matches );
foreach( $matches as $img ){
preg_match( '|(src=")(.*?)"|', $img, $url);
$attachment_id = attachment_url_to_postid( $url[2] );
$attachment_meta = array();
$attachment_meta[] = get_post_meta( $attachment_id, 'name', true ) ?? NULL;
$attachment_meta[] = get_post_meta( $attachment_id, 'organisation', true ) ?? NULL;
if( count( array_filter ($attachment_meta) ) >= 1 ){
$attachment_copyright = implode( ', ', $attachment_meta );
$copyright[] = '<div>© ' . $attachment_copyright . '</div>';
}
}
$images_found = count( array_filter ( $copyright ) );
if( $images_found >= 1 ){
$copyright_list = '<div class="copyright">';
$copyright_list .= $images_found === 1 ? 'Artikelbild' : 'Artikelbilder'; # @todo i18n gettext
$copyright_list .= implode( '', $copyright );
$copyright_list .= '</div><br />';
$content .= $copyright_list;
}
return $content;
}
Alles anzeigen
Das der Code funktioniert, sieht man zum Beispiel in diesem Artikel unterhalb der Social-Media-Button.
Wenn ich meinen Code-Versuch einfüge
/* thumbnail copyright obs */
$thumbnail_id_obs = get_post_thumbnail_id();
$thumbnail_meta_obs = array();
$thumbnail_meta_obs[] = get_post_meta( $thumbnail_id_obs, 'artikelfoto', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta_obs ) ) >= 0 ){
$thumbnail_copyright_obs = implode( ', ', $thumbnail_meta_obs );
$copyright[] = '<div>© ' . $thumbnail_copyright_obs . '</div>';
}
und mit print_r $thumbnail_meta_obs ausgeben lasse, ergibt das folgende Ausgabe:
ZitatArray ( [0] => Array ( [0] => obs / Polizei Lüneburg ) )
Es funktioniert also. Nur nicht so, wie es soll
Dieser Code enthält weder eine Abfrage für eine ACF Checkbox noch eine Ausgabe sonstiger ACF-Felder über die ACF API.
Evtl. hast Du den falschen Code gepostet.
Wenn man ACF verwendet, sollte man für das Lesen der Daten die ACF-API z.B. get_field/the_field verwenden, damit die ACF-Rückgabeformate und ACF-Filter u.ä. beachtet werden.
Ich habe schon den korrekten Code gepostet. Der wird so erfolgreich verwendet, wie man z. B. hier im Artikel unterhalb der Social-Media-Button sehen kann.
Der gesamte Code für die Ausgabe von Name bzw. Organisation sieht (ohne den Versuch meiner Anpassung) so aus und verwendet ebenfalls kein get_field oder ähnliches:
add_filter( 'the_content', 'mmx_maybe_add_copyright_to_content', 500);
function mmx_maybe_add_copyright_to_content( $content ) {
$copyright = array();
/* thumbnail copyright */
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_meta = array();
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'name', true ) ?? NULL;
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'organisation', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta ) ) >= 1 ){
$thumbnail_copyright = implode( ', ', $thumbnail_meta );
$copyright[] = '<div>© ' . $thumbnail_copyright . '</div>';
}
/* in content images copyright */
preg_match( '|<img.*?src=".*?/?>|', $content, $matches );
foreach( $matches as $img ){
preg_match( '|(src=")(.*?)"|', $img, $url);
$attachment_id = attachment_url_to_postid( $url[2] );
$attachment_meta = array();
$attachment_meta[] = get_post_meta( $attachment_id, 'name', true ) ?? NULL;
$attachment_meta[] = get_post_meta( $attachment_id, 'organisation', true ) ?? NULL;
if( count( array_filter ($attachment_meta) ) >= 1 ){
$attachment_copyright = implode( ', ', $attachment_meta );
$copyright[] = '<div>© ' . $attachment_copyright . '</div>';
}
}
$images_found = count( array_filter ( $copyright ) );
if( $images_found >= 1 ){
$copyright_list = '<div class="copyright">';
$copyright_list .= $images_found === 1 ? 'Artikelbild' : 'Artikelbilder'; # @todo i18n gettext
$copyright_list .= implode( '', $copyright );
$copyright_list .= '</div><br />';
$content .= $copyright_list;
}
return $content;
Alles anzeigen
Hallo zusammen!
Mit Hilfe von ACF lasse ich bei Fotos den Namen und / oder die Organisation aus einer Auswahl als Copyright ausgeben.
Nun möchte ich, falls ein vorhandenes Auswahlkästchen (Funktion thumbnail copyright obs) angeklickt wird, den entsprechenden Text ausgeben lassen. Leider funktioniert das nicht wie gewünscht.
Der Code dafür ist folgender
$copyright = array();
/* thumbnail copyright */
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_meta = array();
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'name', true ) ?? NULL;
$thumbnail_meta[] = get_post_meta( $thumbnail_id, 'organisation', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta ) ) >= 1 ){
$thumbnail_copyright = implode( ', ', $thumbnail_meta );
$copyright[] = '<div>© ' . $thumbnail_copyright . '</div>';
}
/* thumbnail copyright obs */
$thumbnail_id_obs = get_post_thumbnail_id();
$thumbnail_meta_obs = array();
$thumbnail_meta_obs[] = get_post_meta( $thumbnail_id_obs, 'artikelfoto', true ) ?? NULL;
if( count( array_filter ( $thumbnail_meta_obs ) ) >= 0 ){
$thumbnail_copyright_obs = implode( ', ', $thumbnail_meta_obs );
$copyright[] = '<div>© ' . $thumbnail_copyright_obs . '</div>';
}
Alles anzeigen
Leider haut das mit der Ausgabe des Textes für die Checkbox nicht hin.
Ich habe die Felder schon in der Mediathek.
Nur werden die Inhalte trotz dessen das ich den bei ACF angezeigten Code nicht im Frontend angezeigt.
Hallo zusammen!
Ich habe eine Feldgruppe erstellt, die angezeigt werden soll, wenn Dateianhang ist gleich alle.
Diese Daten möchte ich unterhalb des Artikels anzeigen lassen.
Dazu dient folgender Code:
function Copyright_acf() {
if (is_single()) {
$organisation = get_field('organisation');
$name = get_field('name');
echo 'Artikelbild(er): © ';
if( $name != 'keine' ):
echo $name;
endif;
if($organisation != 'Keine' ):
echo ' / ' . $organisation;
endif;
}
}
Alles anzeigen
Der dann in der single.php so aufgerufen wird:
Wenn ich als Anweisung 'Inhaltstyp ist gleich Beitrag' verwende, funktioniert das soweit tadellos.
Da ich bei letzterem aber immer aufs neue die Auswahl treffen muss, auch wenn ich ein Bild mehrfach verwende, wollte ich das jetzt so umbauen, das die Daten immer mit dem Bild verknüpft und angezeigt werden wenn das Bild in einem Artikel auftaucht.
Wie muss ich da was umbauen?
Die beiden Felder oben sind Auswahlfelder.
Die Checkbox-Funktion habe ich Dank dem Plugin Advanced Custom Fields: Theme Code so gelöst
<?php // artikelfoto ( value )
$artikelfoto_array = get_field( 'artikelfoto' );
if ( $artikelfoto_array ):
foreach ( $artikelfoto_array as $artikelfoto_item ):
echo '<br />' . $artikelfoto_item;
endforeach;
endif; ?>
So wie es aussieht, funktioniert es auch bei Auswahl eines anderen Wertes als 'keine'
Ich weiß nicht, ob es die korrekte Lösung ist, aber sie funktioniert:
Hallo Zusammen!
Folgende Funktion habe ich:
if (is_single()) {
$organisation = get_field('organisation');
$name = get_field('name');
if (isset($organisation) && $organisation != '' || 'Keine') {
echo 'Artikelbild(er): © '. $organisation;
}
if (isset($name) && $name != 'keine') {
echo ' / ' . $name;
}
}
}
Alles anzeigen
Nun möchte ich, das dass Ergebnis dieser Funktion im Frontend nur angezeigt,wenn die Checkbox mit dem Namen Artikelfoto nicht aktiviert ist. Ansonsten soll nur die Ausgabe für die Checkbox erfolgen.
Und ich hätte es auch gerne, das Organisation und Name nur ausgegeben werden, wenn sie einen Wert ungleich 'Keine' haben. Das funktioniert bisher nicht.
Zu früh gefreut, jetzt wird nichts mehr angezeigt. Selbst wenn das Feld einen Inhalt hat
Fehler war das Leerzeichen in der if-Abfrage zwischen den '
Hallo zusammen!
Kann mir jemand sagen, warum die Abfrage, ob das Feld nicht leer ist nicht klappt?
Ich möchte, das der Text 'Artikelbilder...' nur angezeigt wird, wenn das Custom Field auch ausgefüllt wurde.
Hallo zusammen!
Ich möchte aus einer Datenbanktabelle namens twitter die dort enthaltenen Daten aus den Spalten Account und Organisation auslesen und ausgeben.
Leider stehe ich mit mysql ziemlich auf Kriegsfuß, habe habe aber natürlich schon versucht das hinzubekommen.
Bislang ohne Erfolg.
Der Code sieht so aus:
function twitter_accounts(){
global $wpdb;
$accounts_query = "SELECT * FROM $wpdb->twitter ORDER BY RAND() LIMIT 3 GROUP by account";
$output ='<ul id="accounts">';
foreach($accounts_query as $accounts)
{
$output .= '<li>' .$organisation . '<a href="http://twitter.com/'. $account . '">' . $account . '</a></li><br />';
}
return $output .'</ul>';
}
Kann mir evtl. jemand helfen, das hinzubekommen?
Hallo zusammen!
Ich bin jetzt von all-inkl.com zu raidboxes umgezogen.
Dabei hat sich leider das Problem eingeschlichen, das einige Bilder angezeigt werden, andere hingegen nicht.
Ich habe schon mit Force Regnerate Thumbails und ähnlichen Plugins versucht, das Problem zu lösen - und natürlich auch mit dem Support von Raidboxes.
Beides hat leider keine Lösung gebracht.
FRT zeigt nur an 'Unbekannter Fehler'
Der Blick in die DB ergibt leider nichts, das es erklären würde. Auch an den Dateigrößen hat sich im Vergleich zu all-inkl.com nichts geändert
Es handelt sich um die Seite salzsau-panorama.de
Nein, das Plugin hat an der htaccess nichts verändert. Es kann an der htaccess nichts verändern. Vielleicht, weil es nginx-Server ist
Ja, natürlich, auch Cache Plugin deaktiviert
Hallo zusammen!
Nach der Umstellung von http auf https (mit Hilfe des Plugins Really Simple SSL hat es eine Seite von mir zerschossen.
Die Console gibt jetzt reichlich 403 Forbidden-Fehler aus.
Wie kann man das evtl. reparieren? Link zur Seite kann leider nicht öffentlich gemacht werden