Pregunta sobre Arreglando WordPress de Wordpress:

llamar a una clase con detalles

Un usuario pregunt贸 馃憞

Quiero aprender a usar PHP para llamar a una funci贸n en una clase en un archivo 谩n (S2Member-Pro) en este archivo: / wp-content / plugins / s2member / src / include / classes / program-access. Inc.php

Aqu铆 est谩n los detalles del archivo, en parte:


if(!defined('WPINC')) // MUST have WordPress.
	exit('Do not access this file directly.');

if(!class_exists('c_ws_plugin__s2member_register_access'))
{
	/**
	 * Registration Access Links.
	 *
	 * @package s2MemberRegistrations
	 * @since 3.5
	 */
	class c_ws_plugin__s2member_register_access
	{
		/**
		 * Generates Registration Access Links.
		 *
		 * @package s2MemberRegistrations
		 * @since 3.5
		 *
		 * @param string     $subscr_gateway Payment Gateway associated with a Customer.
		 * @param string     $subscr_id Unique Subscr. ID associated with Payment Gateway; associated with a Customer.
		 * @param string     $custom Custom String value *(as supplied in Shortcode)*; must start with installation domain name.
		 * @param int|string $item_number An s2Member-generated <code>item_number</code> *( i.e., <code>1</code> for Level 1, or <code>level|ccaps|fixed-term</code>, or <code>sp|ids|expiration</code> )*.
		 * @param bool       $shrink Optional. Defaults to true. If false, the raw registration link will NOT be reduced in size through the tinyURL API.
		 *
		 * @return string|bool A Registration Access Link on success, else false on failure.
		 */
		public static function register_link_gen($subscr_gateway = '', $subscr_id = '', $custom = '', $item_number = '', $shrink = TRUE)
		{
			foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
			do_action('ws_plugin__s2member_before_register_link_gen', get_defined_vars());
			unset($__refs, $__v);

			if($subscr_gateway && is_string($subscr_gateway) && $subscr_id && is_string($subscr_id) && $custom && is_string($custom) && $item_number && (is_string($item_number) || is_numeric($item_number)))
			{
				$register = c_ws_plugin__s2member_utils_encryption::encrypt('subscr_gateway_subscr_id_custom_item_number_time:.:|:.:'.$subscr_gateway.':.:|:.:'.$subscr_id.':.:|:.:'.$custom.':.:|:.:'.$item_number.':.:|:.:'.strtotime('now'));

				$register_link = home_url('/?s2member_register='.urlencode($register)); // Generate long URL/link.

				if($shrink && ($shorter_url = c_ws_plugin__s2member_utils_urls::shorten($register_link)))
				{
					$domain_tag    = (strpos($shorter_url, $_SERVER['HTTP_HOST'])) ? '' : '#'.$_SERVER['HTTP_HOST']; // Personalize the link with the site's domain name if it's not already there.
					$register_link = $shorter_url.$domain_tag;
				}
			}
			return apply_filters('ws_plugin__s2member_register_link_gen', ((!empty($register_link)) ? $register_link : FALSE), get_defined_vars());
		}

Tengo los siguientes detalles:

$subscr_gateway
$subscr_id
$custom // Custom String value *(as supplied in Shortcode)*; must start with installation domain name.
$item_number // An s2Member-generated <code>item_number</code> *( i.e., <code>1</code> for Level 1, or <code>level|ccaps|fixed-term</code>, or <code>sp|ids|expiration</code> )*.
$shrink // false...

Entonces tengo esos juegos.

驴C贸mo obtengo lo anterior en wordpress a trav茅s de php?

para devolverle un enlace v谩lido? Soy autodidacta, as铆 que nunca he aprendido nada de programaci贸n con clases y programaci贸n avanzada … y nunca he registrado nada con ellos.

Me gustar铆a un consejo sobre c贸mo usar PHP para llamar a una de esas clases para reenviar los datos que tengo … a ella.

-Rico

(@ alegremente)

Hace 1 a帽o, 5 meses

驴Ves esa 煤ltima l铆nea de funci贸n?
return apply_filters('ws_plugin__s2member_register_link_gen', ((!empty($register_link)) ? $register_link : FALSE), get_defined_vars());

Es la forma en que puede influir en los datos y su c贸digo puede ser muy peque帽o. Para los filtros, solo puede modificar el primer par谩metro pasado al filtro. Cualquier otro par谩metro se ejecuta para el contexto, pero no se puede cambiar.

add_filter( 'ws_plugin__s2member_register_link_gen', 'my_own_s2member_register_link_gen' );
function my_own_s2member_register_link_gen ( $register_link, $defined_vars ) {
  // get your data out of $defined_vars  (gateway, id, number, etc.)
  // build the link or modify the $register_link passed in
  return $register_link;
}

Su funci贸n ser谩 llamada cuando la funci贸n del plugin llame apply_filters.

(@ mrtom414)

Hace 1 a帽o, 5 meses

驴Ha creado un ejemplo de la clase? myinstant = nueva clase definida

luego puede acceder a los miembros del objeto. myinstant-> classMethod

Intente mirar php orientado a objetos

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *