【发布时间】:2016-01-14 04:30:04
【问题描述】:
我有一个 wordpress 插件,可以让我将人们发送到一个新的 url。而不是转到同一页面上的那个 URL 并让用户离开我的网站。我想在他们访问 url 时打开一个新窗口
如何编辑此代码以打开新窗口?
<?php
/**
Plugin Name: [WPJB] Application URL
Version: 1.1
Author: Greg Winiarski
Description: Allows to set application URL on per job basis.
*/
// Plugin activation
register_activation_hook( __FILE__, 'wpjb_aurl_register');
function wpjb_aurl_register() {
// registers new custom field in wp_wpjb_meta table
wpjb_meta_register("job", "application_url");
}
// Plugin deactivation
register_deactivation_hook( __FILE__, 'wpjb_aurl_unregister');
function wpjb_aurl_unregister() {
// do nothing ...
}
// Adding custom fields to the form
add_filter("wpjb_form_init_job", "wpjb_aurl_init_job");
add_filter("wpja_form_init_job", "wpjb_aurl_init_job");
function wpjb_aurl_init_job($form) {
// adding new fields to the form
$e = $form->create("application_url", "text");
$e->setBuiltin(false);
$e->setLabel("Application URL");
$e->addFilter(new Daq_Filter_WP_Url);
$e->addValidator(new Daq_Validate_Url);
$e->setValue($form->getObject()->meta->application_url->value());
$form->addElement($e, "company");
return $form;
}
add_action("wpjb_front_pre_render", "wpjb_aurl_pre_render", 10, 2);
function wpjb_aurl_pre_render($app, $file) {
global $post_type;
try {
$c1 = is_wpjb() && wpjb_is_routed_to("index.single");
} catch(Exception $e) {
$c1 = false;
}
$c2 = $post_type == "job";
if(!$c1 && !$c2) {
return;
}
$job = $app->controller->view->job;
if(!$job->meta->application_url->value()) {
return;
}
$app->controller->view->application_url = $job->meta->application_url- >value();
}
?>
【问题讨论】:
-
windows 在客户端(浏览器)上控制...... PHP 在服务器上运行,所以简短的回答是你不能纯粹在 PHP 中做到这一点
-
PHP 是一种服务器端语言,您无法控制客户端的窗口。但是,您可以将
target='_new'添加到链接中,因此如果有人单击它们,它们将在新窗口中打开。此外,您可以使用 jquery 并在页面加载时打开窗口。 -
它是一个工作板,所以当我创建新工作时,它会自动创建页面。当有人查看工作时,它可以选择申请,当他们点击申请时,它会将他们带到网址那份工作.... idk 我怎么能做到这一点?
-
本链接指南可能会有所帮助:W3 schools targets。就像 Jan 所说,您可以将 `target='_blank' 添加到您创建的链接中,以使该链接在新标签页中打开。
-
哇...不可能做到这一点或什么?
标签: php html plugins hyperlink new-window