আমার প্লাগইন কোনও ফাইলের উল্লেখের জন্য নিম্নলিখিত কোডগুলি ব্যবহার করে, তবে আমি পড়েছি WP_PLUGIN_DIR
যদি কোনও ব্যবহারকারী ডিফল্ট প্লাগইন ফোল্ডারটির নাম পরিবর্তন করে। আমি /location-specific-menu-items/
বর্তমান প্লাগইন ফোল্ডারের রেফারেন্স সহ প্রতিস্থাপন করতে চাই ।
$gi = geoip_open(WP_PLUGIN_DIR ."/location-specific-menu-items/GeoIP.dat", GEOIP_STANDARD);
ডাব্লুপি প্লাগইন ডিরেক্টরি এবং নির্দিষ্ট প্লাগইন ফোল্ডারের নাম নির্বিশেষে এটিকে কাজ করতে আমি কীভাবে এটি পুনরায় লিখতে পারি?
সম্পাদনা করুন:
এখানে প্রত্যেকের ইনপুট অনুসরণ করে আমার চূড়ান্ত কাজের সমাধান। অনেক ধন্যবাদ!
$GeoIPv4_file = plugin_dir_path( __FILE__ ) . 'data/GeoIPv4.dat';
$GeoIPv6_file = plugin_dir_path( __FILE__ ) . 'data/GeoIPv6.dat';
if (!filter_var($ip_address, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) === FALSE) {
if ( is_readable ( $GeoIPv4_file ) ) {
$gi = geoip_open( $GeoIPv4_file, GEOIP_STANDARD );
$user_country = geoip_country_code_by_addr($gi, $ip_address);
geoip_close($gi);
}
} elseif (!filter_var($ip_address, FILTER_VALIDATE_IP,FILTER_FLAG_IPV6) === FALSE) {
if ( is_readable ( $GeoIPv6_file ) ) {
$gi = geoip_open( $GeoIPv6_file, GEOIP_STANDARD );
$user_country = geoip_country_code_by_addr($gi, $ip_address);
geoip_close($gi);
}
} else {
$user_country = "Can't locate IP: " . $ip_address;
}