Benutzerdefinierte "Uploads" Dir: "Bild bearbeiten" in der Medienbibliothek defekt

7

Verzeichnisaufbau

Ich habe meine (lokale) Installation (Entwicklungsbox) angepasst. Die aktuelle Verzeichnisstruktur lautet:

 ./root
  |- wp (WordPress Core root)
    \
    |- wp-config.php
  |- wp-content (Content and Vendor root)
    \
    |- mu-plugins (...)
    |- themes (...)
    |- plugins (...)
    |- uploads (Custom uploads dir)
    |- vendor (Composer installed libraries)
  |- index.php (loads ~/wp/index.php > require( dirname(__FILE__).'/wp/wp-blog-header.php' ); )

Konfig

In meinem habe wp-config.phpich das folgende Setup:

define( 'WP_SITEURL',      'http://example.dev/wp' );
define( 'WP_HOME',         WP_SITEURL );
define( 'WP_CONTENT_DIR',  './../../wp-content' );
define( 'WP_CONTENT_URL',  'http://example.dev/wp-content' );
define( 'WP_PLUGIN_DIR',   '../../wp-content/plugins' );
define( 'WP_PLUGIN_URL',   WP_CONTENT_URL.'/plugins' );
define( 'WPMU_PLUGIN_DIR', '../../wp-content/mu-plugins' );
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL.'/mu-plugins' );

Es ist ein Single - Site - Installation und keine der folgenden Konstanten definiert (und daher fällt auf Standard zurück): UPLOADBLOGSDIR, UPLOADS, BLOGUPLOADDIR.

Filter

Als @Sven (Hofmann) mich im Chat fragte: Das einzige Plugin, das auf den *_urlFiltern läuft , ist ein Mu-Plugin, das das neue Themenverzeichnis erstellt:

add_filter( 'theme_root_uri', 'switch_theme_root_local' );
add_filter( 'theme_root',     'switch_theme_root_local' );

Wie Sie sehen, kann nichts mit internen URls in Konflikt stehen.

Problem

Schritt 1) ​​Wenn ich in die "Medienbibliothek" gehe und auf einen Anhang klicke / ihn öffne, öffnet sich das Modal wie gewohnt und zeigt die Mediendatei (oder im problematischen Fall: das Bild) an.

Anhang Details - WordPress Media Library

Schritt 2) Klicken Sie oben auf den Link "Bild bearbeiten" und der folgende Bildschirm (Modalersatz) wird angezeigt. Beachten Sie das kaputte Bild. Ich habe die Chromes-Entwicklungstools geöffnet, um das el und die Attribute / den Pfad anzuzeigen.

Bearbeiten eines Anhangs - WordPress Media Library

Ich habe keine Ahnung, wie ich das debuggen soll und / oder wo der Ursprung der defekten Links liegen könnte. Ich gehe davon aus, dass dies irgendwo in WordPress am wenigsten dokumentierten Teilen vergraben ist : JavaScript-Vorlagen für die Medienbibliothek.

Kaiser
quelle
Verwenden Sie definedstatt definein wp-config.php? Ich sehe dieses Verhalten bei meinen Skeleton-Installationen nicht.
Birgire
@birgire Nein, das ist nur ein Tippfehler. Ich benutze eine .env-Datei und habe das herausgebracht, um niemanden zu verwirren. Fest.
Kaiser
1
Dies ist eine Nebenbemerkung, aber ich glaube, dass der Konsolenprotokollfehler nur bei Chrome häufig auftritt - Frage zum Stapelüberlauf , verwandter Artikel .
Howdy_McGee
ok, ich denke du könntest es angehen stream_preview_image(), bewaffnet mit exit()und var_dump();-) ps: es sieht auch so aus, als hättest du ein anderes Setup als meins, da ich keine relativen Pfade wie './../../wp-content' verwende. Ich denke, Ihre Konfigurationsdatei befindet sich in einem Unterverzeichnis.
Birgire
1
Es gibt zwei Fälle von wp_die( -1 );in der wp_ajax_imgedit_preview()entweder aus !current_user_can('edit_post', $post_id)oder ! stream_preview_image($post_id).
Birgire

Antworten:

1

Das Upload-Verzeichnis hat eine eigene Definition in wp-config:

define( 'UPLOADS', WP_CONTENT_URL.'/customuploads' );

AJ Zane
quelle
Vielen Dank für den Hinweis (meine Frage wurde aktualisiert, um das zu beantworten), aber ich habe ihn nicht definiert und er greift ordnungsgemäß auf die Standardeinstellungen der Kerne zurück. Ich habe auch die MU-Konstanten nicht definiert (es handelt sich um eine Installation auf einer einzelnen Site).
Kaiser