我在两个网站上有一个自定义帖子类型,我必须导出该帖子类型中的所有帖子并导入到第二个站点。
所以我的帖子类型是"products"。实际上,我可以使用 Wordpress 默认导入导出,但问题是它没有在帖子类型中包含完整的详细信息,也没有导出所有图像。
在我的产品中,我在特色图片侧边栏附近有一个额外的图片库部分。在这里我可以添加图库图片。
因此,如果我的帖子 ID 是 324并且我为该帖子添加了两个厨房图像,那么在数据库 post_meta_option 中我可以看到
post_id=324 , meta_key=rtthemert_gallery_images , meta_value =222,223 这里 223,224 是图像 id。
所以请任何人都可以帮助我仅对这个图库图像进行导出查询,以便当我导入到第二个站点时,图库图像也需要自动添加到该帖子中。
我是 WordPress 开发新手,目前遇到了死胡同。
我希望在订单状态更改后在 WooCommerce 订单中显示管理员通知。
使用以下代码,不会出现该通知:
<?php
class TestNotice {
public function testTheNotice() {
add_action('woocommerce_order_status_changed', [$this, 'test'], 10, 4);
}
public function test(int $id, string $statusFrom, string $statusTo, WC_Order $order)
{
add_action('admin_notices', [$this, 'notice']);
}
public function notice()
{
?>
<div class="notice notice-error is-dismissible">
<p>This notice appears on the order page.</p>
</div>
<?php
}
}
$testNotice = new TestNotice();
$testNotice->testTheNotice();
Run Code Online (Sandbox Code Playgroud)
我尝试将“admin_notices”操作的“优先级”参数设置为20,但没有成功(我认为如果嵌套操作与第一次调用的操作相同,这会很有用)。
但是,当我直接在方法中调用“admin_notices”操作testTheNotice()(因此不调用“woocommerce_order_status_changed”操作)时,它可以工作(在每个管理页面上,这不是我想要的)。
我以为这是因为notice()不知何故无法识别,但实际上是:下面的代码显示“此通知出现在订单页面上”。在空白页上(这不是我想要的,仅用于测试目的)。
<?php
class TestNotice {
public function testTheNotice() {
add_action('woocommerce_order_status_changed', [$this, …Run Code Online (Sandbox Code Playgroud) 我有两个角色,称为代理和子代理。我想从管理员用户列表中隐藏这两个特定角色。
我尝试使用pre_user_query过滤器但无法使其工作。
有人可以建议正确的方法吗?
谢谢,
我需要在所有 WordPress 管理页面(后端)上添加 Livechat 小部件。
Livechat JavaScript 代码是这样的:
<!-- Start of LiveChat (www.livechatinc.com) code -->
<script type="text/javascript">
window.__lc = window.__lc || {};
window.__lc.license = 12345678;
(function() {
var lc = document.createElement('script'); lc.type = 'text/javascript'; lc.async = true;
lc.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'cdn.livechatinc.com/tracking.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(lc, s);
})();
</script>
<noscript>
<a href="https://www.livechatinc.com/chat-with/10437202/" rel="nofollow">Chat with us</a>,
powered by <a href="https://www.livechatinc.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a>
</noscript>
<!-- End of LiveChat code -->
Run Code Online (Sandbox Code Playgroud)
Livechat 有一个可以在前端页面上进行聊天的插件。我实际上想将此代码添加到 WordPress 后端的每个页面。 …
javascript wordpress wordpress-theming custom-wordpress-pages wordpress-admin
我总是在必须使用的插件中使用此代码来删除整个配色方案部分:
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
Run Code Online (Sandbox Code Playgroud)
不幸的是,对于 WordPress 6.0,这不再起作用。我发现核心最近从一个文件add_action( 'admin_color_...移到了另一个文件,但我不确定为什么以及如何我必须更新上面的代码片段才能使其再次工作。default-filters.phpadmin-filters.php
我想创建一个转发器元框而不使用任何类型的插件.
如何在"选定模板"中获取此元数据?
我已经从列表中隐藏了管理员用户并减去了用户数量,但是,用户列表中的管理员角色选项卡(用户>>所有用户)仍然显示,我想随意隐藏它。
这是我用来隐藏管理员的代码:
add_action('pre_user_query','site_pre_user_query');
function site_pre_user_query($user_search) {
global $current_user;
$username = $current_user->user_login;
if ($username == 'admin') {
}
else {
global $wpdb;
$user_search->query_where = str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != 'admin'",$user_search->query_where);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我用来减去用户数量的方法:
add_filter("views_users", "site_list_table_views");
function site_list_table_views($views){
$users = count_users();
$admins_num = $users['avail_roles']['administrator'] - 1;
$all_num = $users['total_users'] - 1;
$class_adm = ( strpos($views['administrator'], 'current') === false ) ? "" : "current";
$class_all = ( strpos($views['all'], 'current') === false ) ? "" : "current";
$views['administrator'] = '<a href="users.php?role=administrator" class="' …Run Code Online (Sandbox Code Playgroud) 我的形象
我只是想为某些用户隐藏特定页面。
function remove_menus(){
// get current login user's role
$roles = wp_get_current_user()->roles;
// test role
if( in_array('administrator',$roles)){
remove_menu_page( 'edit-comments.php' ); //Posts
remove_menu_page( 'tools.php' );
remove_menu_page('edit.php');
remove_menu_page('wpcf7');
}
}
add_action( 'admin_menu', 'remove_menus' , 100 );
Run Code Online (Sandbox Code Playgroud)
这是我现在尝试过的,并且在所有页面上都可以正常工作。
我的问题是我不想显示主页 - 首页(请看我的图片)如果登录用户不是管理员。而且我想隐藏添加新的
php wordpress wordpress-theming custom-wordpress-pages wordpress-admin
我已经查看了几个关于此的在线文档,并查看了此站点上的帖子,但似乎仍然无法让我的管理员帖子请求起作用。在我的管理菜单构造函数中,我添加了以下操作:
add_action('admin_post_modify_release_request', 'handle_release_posting');
具有以下处理程序功能:
function handle_release_posting(){
print_r($_POST);
echo "<br/>incoming:" . var_export($_POST, TRUE) . "<br/>";
?> <div class="wrap">
<?php screen_icon(); ?>
<div class="release_response">Posting response goes here.</div>
</div>
<?php
}?
Run Code Online (Sandbox Code Playgroud)
我的 html 表单元素是这样的:“method="post">?
与其他输入加...
<input type="hidden" id='action' name="action" value="modify_release_request">
<input type="submit" value="Modify Release"></div>
</form>
Run Code Online (Sandbox Code Playgroud)
? 提交请求的行为是调用http://joomla.tenasys.lan/wp-admin/admin-post.php
一个完全空白的页面:
<html><head></head><body></body></html>
?
Run Code Online (Sandbox Code Playgroud)
我错过了什么?我究竟做错了什么?
wordpress ×10
wordpress-admin ×10
php ×5
woocommerce ×2
color-scheme ×1
export ×1
import ×1
javascript ×1