你需要$.ajax()
单击时字段的内容。
简而言之:
在页面模板中
<?php
global $post;
$post_id = $post->ID;
?>
<button class="acf-get-content-button">Let\'s see that content</button>
<div id="acf-content-wrapper" data-id="<?php echo $post_id; ?>"></div>
JS公司
(function($) {
$(\'.acf-get-content-button\').click(function(e){
e.preventDefault();
var $contentWrapper = $( \'#acf-content-wrapper\' );
var postId = $contentWrapper.data( \'id\' );
$.ajax({
url: "/wp-content/plugins/my-custom-plugin/public/field-ajax.php",
type: "POST",
data: {
\'post_id\': postId
},
})
.done(function( data ) {
$contentWrapper.append( data );
});
});
})(jQuery);
字段ajax。php
<?php
define(\'WP_USE_THEMES\', false);
require_once(\'../../../../wp-load.php\');
$post_id = $_POST["post_id"];
$content = get_field( \'field\', $post_id );
echo $content;
这段代码需要定制以供您使用,因此您需要进行更多的研究。
注意,我将ajax脚本放在一个自定义插件中。这是我的建议,但一些安全插件(至少是iThemes security)可以选择在插件文件夹中禁用运行PHP,这会破坏这一点。