<?php
/**
*
*
* Plugin Name: Скачивание файла по ссылке
* Plugin URI:
* Description:
* Author: Анатолий Пычев
* Version: 1.0.2
* Author URI:
*/
// код плагина
add_action('admin_menu', 'pchv_ew_add_admin_pages');
add_action('template_redirect','pchv_ew_template_redirect');
function pchv_ew_template_redirect() {
if ($_SERVER['REQUEST_URI']=='/downloads/result.csv') {
$fn = _DIR_ . '/tocsv.csv'; // Получаум опцию
header("Content-type: application/x-msdownload",true,200);
header("Content-Disposition: attachment; filename=result".date("_d.m.y_H:i:s").".csv");
header("Pragma: no-cache");
header("Expires: 0");
readfile($fn);
exit();
}
}
function pchv_ew_add_admin_pages(){
// Добавляем новую страницу настроек
$hook_suffix = add_options_page('Заголовок страницы', 'Загрузка Файлов', 8, 'pchv_upload_file', 'pchv_options_page');
}
function pchv_options_page(){
echo "<h2>Загрузка файлов по ссылке</h2>";
echo "<p>Автор плагина Анатолий Пычев (email: tpychev@ukr.net, sqype: pychevhome)</p>";
// Создаем фронтенд блока страницы настроек
$df = home_url('downloads/result.csv');
?></br><a href ="<?php echo $df ?>" id="ew-getresult" >скачать файл результатов</a></br><?php
}
?>
if ($_SERVER['REQUEST_URI']== $GET11)
и нужна для того, что бы понять что сейчас обрабатывается запрос который должен вернуть файл. if ($_SERVER['REQUEST_URI']== '/wor/ru/2018/12/04/frtt/')
error_log('$GET11: ' . print_r($GET11, true) . PHP_EOL, 3, __DIR__ . "my-errors.log" );
Но похоже я делаю что не так
<?php
/**
* @version 1.0
*/
/*
Plugin Name: Hummel Color Upsells
Description: Плагин для отображения товаров других расцветок товара.
Author: Anatoliy Pychev
Version: 1.0
Author URI:
*/
class Hummel_Color_Upsells_Plugin {
private static $notices = array();
public static function init() {
register_activation_hook( __FILE__, array( __CLASS__, 'activate' ) );
register_deactivation_hook( __FILE__, array( __CLASS__, 'deactivate' ) );
register_uninstall_hook( __FILE__, array( __CLASS__, 'uninstall' ) );
add_action( 'init', array( __CLASS__, 'wp_init' ) );
add_action( 'admin_notices', array( __CLASS__, 'admin_notices' ) );
}
public static function wp_init() {
$active_plugins = get_option( 'active_plugins', array() );
$woocommerce_is_active = in_array( 'woocommerce/woocommerce.php', $active_plugins );
if ( !$woocommerce_is_active ) {
self::$notices[] = '<div class="error"><p><strong>Hummel Orders Exporter Plugin</strong> требуется наличие активнокго плагина Woocommerce.</p></div>';
} else {
// добавляем обработчик
add_action( 'woocommerce_before_add_to_cart_form', array( __CLASS__, 'display_color_upsells' ), 10 );
}
}
/**
* Выводит на фронт миниатюру этого же товар в другой расцветке
*/
public static function display_color_upsells() {
global $woocommere, $product;
//error_log(__METHOD__ . PHP_EOL , 3, WP_PLUGIN_DIR . '/hummel-color-upsells/log.log');
$sku = trim($product->get_sku());
// исключаем наборы и товары без артикулов
if ( !$sku || 'bndl' == substr( $sku, 0, 4 ) ) { return; }
$article = substr( $sku, 0, 7 );
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'numberposts' => -1,
'meta_query' => array(
array(
'key' => '_sku',
'value' => $article,
'compare' => 'LIKE'
))
) ;
$clrposts = get_posts($args);
if ( $clrposts ){
echo '<p style="margin: 0px;"><strong>Цветовая палитра</strong></p>';
echo '<div class="color-upsells" style="display:flex; display:-ms-flexbox;">';
foreach( $clrposts as $clrpost ){
$prd = wc_get_product( $clrpost );
$color = substr($prd->get_sku(), 8, 4);
$imgcss = 'border: 0px solid black;';
if ( $sku == $prd->get_sku() ) { $imgcss = 'border: 1px solid black;'; }
$imgcss = $imgcss . ' margin: 2px; padding: 2px;';
$html = '<a href="' . get_permalink( $clrpost ) .
'" title="' . $color .
'" alt="' . esc_attr( get_the_title( $clrpost ) ) .
'">' . get_the_post_thumbnail($clrpost, array(45,45), array('style' => $imgcss) ) .
'</a>';
echo $html;
}
echo '</div>';
}
}
/**
* Plugin display notices.
*
*/
public static function admin_notices() {
if ( !empty( self::$notices ) ) {
foreach ( self::$notices as $notice ) {
echo $notice;
}
}
}
/**
* Plugin activation work.
*
*/
public static function activate() {
}
/**
* Plugin deactivation.
*
*/
public static function deactivate() {
}
/**
* Plugin uninstall.
*
*/
public static function uninstall() {
}
}
Hummel_Color_Upsells_Plugin::init();
function Agent($postID) {
$uid = get_current_user_id();
$DDD = get_user_meta( $uid, 'TOT', true );
if ( !$DDD || !isset($DDD[$postID]) ){
$DDD[$postID] = 1;
update_user_meta($uid, 'TOT', $DDD);
echo 'Yes TTTYYYTTT';
}
}
Agent(get_the_ID()) ;
Скорее всего надо проверить переменную $_SERVER['REQUEST_URI'] и подправить сравнение
в 20й строке попробуйте