I think the author abandoned this plugin so shown below are a list of patch fixes i’ve done to my w3tc files and you can apply yourself (if you aren’t afraid of looking at code). Once you’ve applied all of these see if your deprecation problem disappears. If not then post the error message — it might be something new:
File: /wp-content/plugins/w3-total-cache/lib/W3/SharedPageUrls.php
Line: 111 — Deprecation issue.
Replace:
$post_link = post_permalink($post_id);
With:
$post_link = get_permalink($post_id);
***********************************************
File: /wp-content/plugins/w3-total-cache/lib/W3/Plugin/TotalCache.php
Line: 512 — This resolves the php7 compatibility issue. Without it caching doesnt occur in php7+.
Replace:
function ob_callback(&$buffer)
With:
function ob_callback($buffer)
***********************************************
File: /wp-content/plugins/w3-total-cache/lib/W3/PgCache.php
Line: 961 — Resolves an issue with https caching
Replace:
$key = substr($request_uri, strtolower(substr($request_uri, 0, 8)) == 'https' ? 8: 7);
With:
$key = substr($request_uri, strtolower(substr($request_uri, 0, 8)) == 'https://' ? 8: 7);
***********************************************
File: /wp-content/plugins/w3-total-cache/lib/W3/PgCacheAdminEnvironment.php
Line: 562 — Deprecation issue.
Replace:
$current_user = get_currentuserinfo();
With:
$current_user = wp_get_current_user();
***********************************************
File: /wp-content/plugins/w3-total-cache/lib/W3/AdminActions/SupportActionsAdmin.php
Line: 655 — Deprecation issue.
Replace:
global $current_user;
get_currentuserinfo();
With:
//global $current_user; -- Not needed.
$current_user = wp_get_current_user();