Ich erstelle ein WordPress-Plugin, um Felder aus einem XenForo-Forum einzubinden und in WordPress anzuzeigen.Variable und Echo in Funktion definieren
Ich habe eine Datei mit dem Namen xf_connector.php, die den folgenden Code hat:
<?php
$startTime = microtime(true);
$fileDir = 'C:\Domains\xxxx.com\httpdocs\forums';
require($fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);
XenForo_Session::startPublicSession();
$visitor = XenForo_Visitor::getInstance()->toArray();
?>
Und dann eine separate Datei namens xf.php, die den folgenden Code hat:
<body>
<p>Hello <?php $xf_userId = $visitor['user_id'];
$xf_username = $visitor['username'];
echo "$xf_username" ?> welcome to this web page.</p>
<p>Hello <?php $xf_userId = $visitor['user_id'];
$xf_username = $visitor['username'];
echo "$xf_username" ?> welcome to this web page.</p>
</body>
Dies funktioniert gut in einem leeren Dokument, funktioniert aber nicht im WordPress-Plugin. Meine Plugin-Datei ist zur Zeit:
include_once(plugin_dir_path(__FILE__) . '/includes/xf_connector.php');
function xenfield_shortcode() {
ob_start(); ?>
<div class="xenfield">
<?php $xf_userId = $visitor['user_id'];
$xf_username = $visitor['username'];
echo "$xf_username" ?>
</div>
<?php return ob_get_clean();
}
add_shortcode('xenfield', 'xenfield_shortcode');
Dies zeigt nichts auf der Wordpress-Seite und wenn ich im HTML aussehen es zeigt nur leere <p>
Tags.
Wie kann ich eine Variable definieren und sie in der gleichen Datei echo, so dass es in WordPress angezeigt wird?
Bitte nicht das Tool Code-Schnipsel missbrauchen. Es ist nur für HTML/CSS/JS *. –
Sorry, ich konnte keine Möglichkeit finden, PHP als Block und nicht als einfachen Text einzugeben. Meine Entschuldigung –