danke
das passt, soll ja letztlich in der aktuellen Version genutzt werden
Beiträge von n.k
-
-
Moin
wisst ihr wo nun die Listings aus dem WP Buch zu finden sind?
wpbuch.com/listing-....
führt immer auf eine allgemeine Rheinwerk-SeiteGooden Wind
Norbert -
ok, danke
werde das versuchen -
meine Frage ist, ob ich einen bestehenden Post (Beitrag) in den CPT verschieben kann
-
Moin
habe CPT (Custom Post Types) mit Taxonomies angelegt, alles gut
kann ich bzw. ween ja wie: bereits bestehende (normale) in einen jweiligen CPT überführen/verschieben ?
bitte keine Plugins benennen, sondern wie dies per Script (technisch) umgesetzt werden könnte
oder zumindest einen Tipp/Stichwort welche Funktion(en) es hierfür brauchtVG
Norbert -
hab's gelöst:
wp_upload_handler ist eigentlich nur fürs System gedacht und kann auch nur mit angemeldeten Admin-User ausgeführt werden
für das Frontend eignet sich
wp_upload_bits ()habe das damit nun umgesetzt und läuft einwandfrei
-
ok, danke für die Infos
deaktiviere mal die anderen Plugins und auch den Mime-Code -
apply_filters aus dem Code gelöscht
die Funktion für den Shortcode sieht so aus:
Code
Alles anzeigenfunction nkt2c_forms($atts, $content) { $content = do_shortcode($content); $nkt2c_ret = ' <form id="nkt2c_form_upload" class="nkt2c_form_upload" enctype="multipart/form-data" action="" method="POST"> '; $nkt2c_ret .= wp_nonce_field( 'nkt2c_file_upload', 'nkt2c_fileup_nonce' ); $nkt2c_ret .= ' <input name="nkt2c_file_upload" type="file" /> <input type="submit" value="Upload file" id="nkt2c_btn_upload" /> <div id="nkt2c_src">keine Daten vorhanden</div> <div id="nkt2c_dst">keine Daten vorhanden</div> <div id="nkt2c_download"></div> </form> '; if( wp_verify_nonce( $_POST['nkt2c_fileup_nonce'], 'nkt2c_file_upload' ) ){ if ( ! function_exists( 'wp_handle_upload' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } $nkt2c_file = & $_FILES['nkt2c_file_upload']; $nkt2c_overrides = [ 'test_form' => false ]; $nkt2c_movefile = wp_handle_upload( $nkt2c_file, $nkt2c_overrides ); if ( $nkt2c_movefile && empty( $nkt2c_movefile['error'] ) ) { echo "The file was successfully uploaded."; //print_r( $nkt2c_movefile ); $nkt2c_txtfile = $nkt2c_movefile["file"]; print_r($nkt2c_txtfile); } else { echo $nkt2c_movefile['error']; } } //remove_filter('nkt2c_mimes', 'txt'); return $nkt2c_ret; }ergänzend sei noch erwähnt:
in der wp-config.php ist folgende Zeile eingefügt:Ergebnis: alles wie gehabt, mime-type nicht erlaubt, es funktioniert nicht
habe mal das Plugin als ZIP beigefügt,
lt. habt ihr das Gleiche Phänomen oder noch einen Tipp ...VG
Norbert -
Moin
danke für Deine Rückmeldung und den Link.
Den hatte ich auch schon gesehen.
habe auch neben dem Wordpress Plugin Buch von F. Simeth weitere Bücher zum Thema Plugins mit Wordpress hier liegen
und bin die durchgegangenhabe jetzt folgenden Code:
Startdatei Plugin
Code... // //actions add_shortcode('nkt2c', 'nkt2c_forms'); add_filter( 'upload_mimes', 'nkt2c_mime_types' ); add_action( 'wp_enqueue_scripts', 'add_nkt2c_css' ); add_action( 'wp_enqueue_scripts', 'add_nkt2c_js' ); add_action( 'admin_menu', 'nkt2c_menu'); ...nach meinem Verständnis wird mit add_filter erstmal nur die Function in WP registriert (bekannt gegeben)
in der Functions-Datei ist u.a. dann folgendes :
Code
Alles anzeigen... function nkt2c_mime_types( $mimes ) { $mimes['txt'] = 'text/plain'; return $mimes; } ...damit das nun aber getriggert wird müsste ich vor wp_handle_upload einfügen ?
weil mit apply_filters die Funktion ausgeführt wird,
so mein Verständnis der Bücher und Beschreibungensicherlich mache ich noch irgendwo einen Denkfehler ... ?
die Parameter $t und $user müssen sicherlich mit entsprechenden Werten gesetzt werden aber welchen machen hier Sinn ? -
bin schon sehr über den Ton irritiert ...
die Online Meetings sind da wesentlich freundlicher.
davon abgesehen, habe ich das mal nach der Reference von upload_mimes angepasst
das Verhalten ist das Gleiche:
nach Aktivierung des Plugins funktioniert der Upload von TXT-Files
schliesse ich den Browser und rufe die Seite wieder auf, kommt wieder der Hinweis : mime type nicht erlaubtin manchen Quellen findet man einen Hinweis auf die functions.php des Themes ...
aber das wäre doch unlogisch sie darein zu packen
grade add_filter sollte doch von überall lt. Doku aufrufbar sein ...wo ist mein Denkfehler ?
-
Moin Leute
in einem Plugin soll der der Upload von TXT-Dateien ermöglcht werden, damit diese dann verarbeitet und in Tabellenform angezeigt bzw. als CSV zum Download bereitgestellt werden.
Da WP per Core TXT-Files nicht zulässt, würde ich dieses gerne im Plugin erlauben.
Hierzu gibt es ja add_filter um die Mime-Types zu verwalten.
Leider komme ich an der Stelle nicht richtig weiter:
wenn ich das Plugin aktiviere und im Browser anschliessend direkt auf Upload gehe, funktioniert es. Die TXT-Datei wird ins .../wp-content/uploads/... übernommen
wenn ich den Browser aber schliesse und wieder starte und dann den Upload erneut versuche, dann funktioniert er nicht "Sorry, you are not allowed to upload this file type." **
verstehe die Logik nicht. Prinzipiell scheint es ja zu funktionieren (nach Aktivierung vom Plugin und solange der Browser dann nicht geschlossen wird)
wieso dann nach erneutem Browserstart dann wieder Filetype nicht erlaubt ?
zentrale Plugin-Steuerungsdatei :
...
// //actions
add_shortcode('nkt2c', 'nkt2c_forms');
add_filter( 'nkt2c_mimes', 'nkt2c_mime_types' );
add_action( 'wp_enqueue_scripts', 'add_nkt2c_css' );
add_action( 'wp_enqueue_scripts', 'add_nkt2c_js' );
add_action( 'admin_menu', 'nkt2c_menu');...
dann in der functions-Datei vom Plugin :
function nkt2c_mime_types( $nkt2c_mimes ) {
// $nkt2c_mimes = array(
// 'txt' => 'text/plain'
// );
// return $nkt2c_mimes;// First we unregister the old key
unset( $mime_types['txt'] );// Then we add a new one
! isset( $mime_types['txt'] ) AND $mime_types['txt'] = 'text/plain';return $mime_types;
}
function add_nkt2c_css() {
wp_register_style( 'nkt2c-css', '/wp-content/plugins/nkTxt2Csv/css/nkt2c-style.css' );
wp_enqueue_style( 'nkt2c-css', );}
function add_nkt2c_js() {
wp_enqueue_script( 'nkt2c-js' , '/wp-content/plugins/' . NKT2C . '/js/nkt2c-script.js' );
}function nkt2c_forms($atts, $content) {
$content = do_shortcode($content);
$nkt2c_tmp = apply_filters( 'nkt2c_mimes', 'txt' );
$nkt2c_ret = '
<form id="nkt2c_form_upload" class="nkt2c_form_upload" enctype="multipart/form-data" action="" method="POST">
';$nkt2c_ret .= wp_nonce_field( 'nkt2c_file_upload', 'nkt2c_fileup_nonce' );
$nkt2c_ret .= '
<input name="nkt2c_file_upload" type="file" />
<input type="submit" value="Upload file" id="nkt2c_btn_upload" />
<div id="nkt2c_src">keine Daten vorhanden</div>
<div id="nkt2c_dst">keine Daten vorhanden</div>
<div id="nkt2c_download"></div>
</form>
';if( wp_verify_nonce( $_POST['nkt2c_fileup_nonce'], 'nkt2c_file_upload' ) ){
if ( ! function_exists( 'wp_handle_upload' ) ) {
require_once ABSPATH . 'wp-admin/includes/file.php';
}$nkt2c_file = & $_FILES['nkt2c_file_upload'];
$nkt2c_overrides = [ 'test_form' => false ];
$nkt2c_movefile = wp_handle_upload( $nkt2c_file, $nkt2c_overrides );
if ( $nkt2c_movefile && empty( $nkt2c_movefile['error'] ) ) {
echo "The file was successfully uploaded.";
//print_r( $nkt2c_movefile );
$nkt2c_txtfile = $nkt2c_movefile["file"];
print_r($nkt2c_txtfile);
}
else {
echo $nkt2c_movefile['error'];
}
}//remove_filter('nkt2c_mimes', 'txt');
return $nkt2c_ret;
}
Vielen Dank im voraus für eure UnterstützungVG
Norbert
-
-
super, das war es
habe folgende Einstellungen aus dem Thread in FF übernommen:
[PLAIN]dom.events.testing.asyncClipboard = true
dom.events.asyncClipboard.readText = true[/PLAIN]Danke
klasse Forum hierwünsche allen einen guten Start ins neue Jahr
-